【发布时间】:2018-08-14 16:07:02
【问题描述】:
我有一个 Laravel (5.5) 网络应用程序,我正在尝试连接远程数据库。我正在使用 Apache、PHP 7.0 和 MySQL。 Laravel 使用 PDO,当使用远程 DB 信息调用该类时,我收到 500 服务器错误:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php on line 67
几点说明:
- 在本地使用相同的数据库时,应用程序加载没有问题
- 我可以使用 Sequel Pro 连接到远程数据库
- 我也可以从 Laravel 服务器的命令行(以 root 身份)连接到远程数据库
- 我已将 PHP memory_limit 设置为 -1
这是我的配置文件(.env 中的信息相同):
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'xxx.xxx.xxx.xxx'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'xxxxxx'),
'username' => env('DB_USERNAME', 'xxxxxx'),
'password' => env('DB_PASSWORD', 'xxxxxx'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'strict' => false,
'engine' => null,
'sslmode' => env('DB_SSLMODE', 'prefer'),
'options' => array(
PDO::MYSQL_ATTR_SSL_KEY => '/var/lib/mysql/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/var/lib/mysql/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => '/var/lib/mysql/ca.pem',
),
],
如果有人有任何想法或建议,那就太棒了。
谢谢,
迈克
【问题讨论】:
-
那么我必须假设您没有编辑正确的
php.ini文件。或者您在编辑后没有重新启动 Apache。因为134217728在我看来很像默认的128Meg -
嗯,我会仔细检查,谢谢提醒
-
我检查了当前加载的 php.ini memory_limit 设置为-1。重新启动 Apache 以确保仍然得到相同的错误。