PHP尝试迁移时发生致命错误内存错误

时间:2016-11-18 09:01:27

标签: php laravel artisan sqlsrv

当我尝试运行命令时,我遇到了Laravel的问题:

  

php artisan migrate

它总是让我回到这个错误:

  

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驱动程序,但我不知道如何修复所有这些。

1 个答案:

答案 0 :(得分:1)

您可以使用php -d memory_limit=-1 artisan migrate临时绕过内存限制。