使用composer安装laravel-admin及其过程中遇到的坑

简介: 使用composer安装laravel-admin及其过程中遇到的坑

前提:已安装好laravel(5.5以上版本),并且能够运行,设置好数据库连接并且能成功连接

进入项目目录,使用composer安装报如下错误:

$ composer require encore/laravel-admin
Using version ^1.6 for encore/laravel-admin
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
VirtualAlloc() failed: [0x00000008] ▒洢▒▒▒㣬▒޷▒▒▒▒▒▒▒▒▒
VirtualFree() failed: [0x000001e7] ▒▒ͼ▒▒▒▒▒▒Ч▒ĵ▒ַ▒▒
VirtualAlloc() failed: [0x00000008] ▒洢▒▒▒㣬▒޷▒▒▒▒▒▒▒▒▒
VirtualFree() failed: [0x000001e7] ▒▒ͼ▒▒▒▒▒▒Ч▒ĵ▒ַ▒▒
PHP Fatal error:  Out of memory (allocated 511705088) (tried to allocate 4096 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220
Fatal error: Out of memory (allocated 511705088) (tried to allocate 4096 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

看错误内容为内存不足,于是修改php.ini中内存限制参数为-1,即不限制PHP内存

memory_limit = -1

重启服务器,再次安装,还是报相同错误,于是经过一番谷歌百度,无非就是增大内存限制、更新composer等等。具体可以参考以下两篇文章How to solve Composer install/update error: VirtualAlloc() failed: [0x00000008] 和 Composer: PHP Fatal error: Out of memory || Setting memory_limit doesn't work

但是最终的结果都是没有效果,还是一如既往地报内存不足,无奈只能重启电脑再试,结果重启后运行安装命令laravel-admin成功安装

$ composer require encore/laravel-admin
Using version ^1.6 for encore/laravel-admin
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: encore/laravel-admin
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.

接下来按照laravel-admin进行资源发布:

$ composer require encore/laravel-admin
Using version ^1.6 for encore/laravel-admin
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: encore/laravel-admin
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.

然后运行安装命令,报出如下错误:

$ php artisan admin:install
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
   Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access
 violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL:
alter table `tb_users` add unique `tb_users_email_unique`(`email`))
  at D:\bd\treasure_box\vendor\laravel\framework\src\Illuminate\Database\Connect
ion.php:664
    660|         // If an exception occurs when attempting to run a query, we'll
 format the error
    661|         // message to include the bindings with SQL, which will make th
is exception a
    662|         // lot more helpful to the developer instead of just the databa
se's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|
  Exception trace:
  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[42000]: Syntax error or acce
ss violation: 1071 Specified key was too long; max key length is 1000 bytes")
      D:\bd\treasure_box\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatem
ent.php:119
  2   PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Sp
ecified key was too long; max key length is 1000 bytes")
      D:\bd\treasure_box\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatem
ent.php:117
  Please use the argument -v to see more details.

查询资料发现需要修改数据库连接设置config/databases.php如下:

'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',

设置好后再次运行,成功安装:

$ php artisan admin:install
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2016_01_04_173148_create_admin_tables
Migrated:  2016_01_04_173148_create_admin_tables
Database seeding completed successfully.
Admin directory was created: \app\Admin
HomeController file was created: \app\Admin/Controllers/HomeController.php
AuthController file was created: \app\Admin/Controllers/AuthController.php
ExampleController file was created: \app\Admin/Controllers/ExampleController.php
Bootstrap file was created: \app\Admin/bootstrap.php
Routes file was created: \app\Admin/routes.php

运行服务:

 $ php artisan serve
 Laravel development server started: <http://127.0.0.1:8000>


目录
相关文章
|
10月前
|
缓存 前端开发 JavaScript
PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构)
PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构)
271 0
|
6月前
|
缓存 小程序 中间件
laravel5.8(一)安装及部署
Laravel,传说中美丽优雅的框架。之前一直在使用国产的thinkphp框架,可能是万物发展到最后都会统一吧,thinkphp的功能与laravel是越来越统一了 thinkphp5.1也加入了laravel一直存在的中间件功能。 但是相对来说laravel还是比较高端,入门比较容易,但是想要完全搞清楚,还是比较难,之前了解的也比较少。 高端的东西多少还得了解点。 一:安装框架 安装大概有两种方式 1:composer安装(网好的时候进行) 修改 composer 的全局配置文件(推荐方式),然后输入安装命令 bash 复制代码 composer config -g repo.packagi
66 0
laravel5.8(一)安装及部署
|
8月前
|
缓存 开发框架 PHP
laravel框架系列(一),Dcat Admin 安装
laravel框架系列(一),Dcat Admin 安装
102 0
|
8月前
|
PHP 开发工具 数据库
laravel系列(二) Dcat admin框架开发工具使用
laravel系列(二) Dcat admin框架开发工具使用
140 0
|
前端开发 PHP
laravel6.*实现html转PDF导出下载(barryvdh/laravel-dompdf)
laravel6.*实现html转PDF导出下载(barryvdh/laravel-dompdf)
344 0
laravel6.*实现html转PDF导出下载(barryvdh/laravel-dompdf)
|
设计模式 前端开发 PHP
PHP的Laravel与Composer部署项目时常见问题
我们在部署PHP项目时,其实大部分的PHP项目会创建环境检测与一键Install页面。 但是,有许多的项目还采用了Composer部署。
342 0
|
安全 PHP
composer的基本使用和常见报错解决
composer的基本使用和常见报错解决
382 0
|
PHP
【laravel项目】@9 laravel-admin汉化菜单 新增模块
【laravel项目】@9 laravel-admin汉化菜单 新增模块
126 0
【laravel项目】@9 laravel-admin汉化菜单 新增模块
【laralve项目】@8 laravel-admin安装(2)
【laralve项目】@8 laravel-admin安装
89 0
【laralve项目】@8 laravel-admin安装(2)
|
PHP
【laralve项目】@8 laravel-admin安装(1)
【laralve项目】@8 laravel-admin安装
108 0
【laralve项目】@8 laravel-admin安装(1)