[以前,我的网站在Ubuntu 14.04 LTS上的PHP 7.1上运行,并已升级到Ubuntu 16.04。升级后,我仍然可以访问我的网站。
然后我install和switch转换为PHP 7.2(我没有删除PHP 7.1,仅将其禁用)。访问时,它显示有关数据库连接错误的laravel错误。然后在mysql
中启用pdo_mysql
和/etc/php/7.2/cli/php.ini
。之后,我的站点仅返回500个内部服务器错误。
我检查了/var/log/apache2/error.log
,并说
[Tue Dec 17 11:12:36.773684 2019] [php7:error] [pid 27730] [client xxx.xxx.xxx.xxx:y] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php on line 31
memory_limit
中的/etc/php/7.2/cli/php.ini
从开始就已经是-1
。
您可能具有用于不同PHP接口的多个配置文件。您已经编辑了cli配置。
要检查与apache2 sapi一起使用的配置,可以在文档根目录中创建test.php,如下所示
test.php
<?php
phpinfo();
然后在网络浏览器中打开test.php。有一行标记为“已加载的配置文件”
编辑配置,我不建议将网站的内存限制设置为-1(不受php限制)。选择一个适合您要求的值。它应该是128MB的倍数。更改值后,重新启动Apache。完成后,删除test.php。
在Ubuntu和Apache上还有两件事:
选择像这样的系统默认php版本
update-alternatives --set php /usr/bin/php7.2
选择像这样的Apache php版本
a2enmod php7.2
systemctl restart apache2