我在使用 Wordpress 时遇到了一个奇怪的问题,我不知道该如何解决。大约一个月前,我更换了服务器,并将我的 Wordpress 文件和数据库从旧版本转移到了新版本。当时,我使用的是旧版本的 Wordpress,即需要 php5 的版本之前的版本(因为我没有 php5)。
成功移动所有内容后,我将 Wordpress 升级到最新版本。有些插件出现了问题(不幸的是,我记不清是哪些插件了),但我不太在意,因此我从插件目录中删除了这些文件。
一切似乎都很好,所以我就保持原样,直到有一天我收到一封电子邮件,说我的博客瘫痪了。我去查看了一下,结果看到的只是一个空白页。服务器中的其他一切都运行正常。我的 Apache 日志中没有严重的崩溃错误,但我注意到我没有启用 php 日志记录。因此,我对 php.ini 进行了适当的更改,重新启动了 Apache,它又恢复了运行。
然后,几天后,同样的事情又发生了。我只是重新启动了 Apache 看看会发生什么,它又恢复了正常。Apache 错误日志没有显示任何严重问题。Apache 访问日志和 Ubuntu 的系统日志也没有显示任何严重问题。但出于某种原因,尽管我已将 log_errors = On 和 error_log 设置为完整文件路径,但我看不到任何 PHP 日志文件。
有什么帮助吗?我甚至不知道从哪里开始找。
答案1
我终于找到了原因,所以我会回答我自己的问题,希望有人遇到同样的问题。
在 Apache 日志中搜索了一番之后,谷歌搜索Wordpress 空白页尝试了所有我发现的方法(结果发现,发生这种情况的原因有一百万个),我发现问题出在内存上。
从那以后修复就相当简单了:我在 wp-config.php 中添加了更多内存
define('WP_MEMORY_LIMIT', '128M');
答案2
如果您还不确定您的服务器上没有可疑或恶意代码,您可以尝试使用此脚本进行快速搜索:http://25yearsofprogramming.com/php/findmaliciouscode.htm
答案3
我遇到过类似的情况,这是由于内存不足和没有交换配置造成的,我在 AWS 上运行的是 Ubuntu 22.04 服务器,显然没有预先配置交换,请先使用以下命令检查内存使用情况
free -h
你应该得到如下输出:
total used free shared buff/cache available
Mem: 924Mi 315Mi 191Mi 92Mi 417Mi 358Mi
Swap: 5.0Gi 485Mi 4.5Gi
如果你没有交换,那么你可以在 Ubuntu 22.04 上使用以下命令轻松设置它
sudo fallocate -l 1G /swapfile
ls -lh /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
使其永久化:
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
完整的教程可在 digital ocean 上找到 https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04