【发布时间】:2017-04-02 01:28:54
【问题描述】:
当我尝试运行命令时,我遇到了 Laravel 问题:
php 工匠迁移
它总是给我这个错误:
PHP 致命错误:内存不足(分配 1886912512)(试图 在 C:\xampp\htdocs\EServices\vendor\laravel\framework\src\Illuminate\Database\Grammar.php 中分配 65488 字节) 第 35 行
我已经将这一行放在它所指的 Grammar.php 文件夹中:
ini_set('memory_limit', '-1');
当我将默认 SQL 行更改为我的 sqlsrv(数据库运行 Microsoft SQL Server)时,此问题开始发生
我的 .env 文件包含以下内容:
APP_ENV=local
APP_KEY=base64:3Goo2ULThD6k3srhAUOmqFlevc+MzLBIYB85Ye1wYYY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=sqlsrv
DB_HOST=shareapp
DB_PORT=3306
DB_DATABASE=fms
DB_USERNAME=
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
然后database.php的代码是这样的:
'default' => env('DB_CONNECTION', 'sqlsrv'),
那么sqlsrv的定义是这样的:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'shareapp'),
'database' => env('DB_DATABASE', 'fmsStage'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => 'dbo.',
],
我完全不知道该怎么做,自从我开始尝试使用 Laravel 以来,我除了问题什么都没有。这不起作用然后不起作用。都是因为需要安装数据库和这些ODBC驱动,但是我不知道怎么解决。
【问题讨论】:
-
请问 Grammar.php 包含什么?
-
由 laravel new EServices 创建的标准文件
-
对于遇到这个问题的人来说,与我一起工作的开发人员似乎遇到了同样的问题。他的问题的原因是他没有在他的 .env 文件中设置数据库的用户名。
标签: php laravel laravel-artisan sqlsrv