在 Ubuntu 上,如果 PHP 内存不足,您可以尝试以下方法来解决这个问题:
找到您的 php.ini 文件。这个文件通常位于 /etc/php/{版本号}/apache2/ 或 /etc/php/{版本号}/cli/ 目录下。您可以使用以下命令来查找它:
find /etc/php -name php.ini
使用文本编辑器打开 php.ini 文件,例如使用 nano:
sudo nano /etc/php/{版本号}/apache2/php.ini
找到 “memory_limit” 设置项,将其值更改为更高的值,例如:
memory_limit = 256M
保存并关闭文件。然后重启 Apache 或 PHP-FPM 服务以使更改生效:
sudo systemctl restart apache2
或者
sudo systemctl restart php{版本号}-fpm
找到您的 php.ini 文件,如上所述。然后使用文本编辑器打开它,例如使用 nano:
sudo nano /etc/php/{版本号}/cli/php.ini
找到 “memory_limit” 设置项,将其值更改为更高的值,例如:
memory_limit = 256M
保存并关闭文件。现在,当您使用 PHP CLI 时,新的内存限制将生效。
检查您的 PHP 代码,看看是否有内存泄漏或不必要的大量内存使用。使用性能分析工具(如 Xdebug 或 Blackfire)可以帮助您找到问题所在。
如果您的系统内存不足,您可以考虑增加交换空间。这将允许您的系统在物理内存耗尽时使用磁盘空间。要增加交换空间,请按照以下步骤操作:
创建一个新的交换文件:
sudo fallocate -l 1G /swapfile
设置正确的权限:
sudo chmod 600 /swapfile
将文件设置为交换空间:
sudo mkswap /swapfile
启用交换文件:
sudo swapon /swapfile
要使交换文件在系统启动时自动启用,请将其添加到 /etc/fstab 文件中:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
请注意,增加交换空间可能会降低系统性能,因为磁盘速度比 RAM 慢得多。因此,最好的解决方案仍然是优化代码和增加物理内存。