这个错误信息的中文解释是:
致命错误:在 /www/wwwroot/www.lanjan.com.cn/wp-includes/functions.wp-scripts.php 文件的第 133 行,允许的内存大小 134217728 字节已耗尽(尝试分配 1957888 字节)
问题解析:
-
内存限制:
134217728 字节 = 128 MB
(WordPress 当前的内存限制) -
需求内存:
1957888 字节 ≈ 1.87 MB
(WordPress 试图分配但失败的内存量) - 发生位置:WordPress 核心的脚本处理函数中(加载脚本/样式时)
解决方案:
方法一:增加 PHP 内存限制(最直接有效)
在 wp-config.php
文件中添加(在 <?php
下方):
define('WP_MEMORY_LIMIT', '256M'); // 前台内存限制
define('WP_MAX_MEMORY_LIMIT', '512M'); // 后台管理界面内存限制
方法二:修改服务器配置
根据服务器环境选择:
-
PHP.ini(全局生效):
memory_limit = 256M
-
.htaccess(Apache):
php_value memory_limit 256M
-
.user.ini(Nginx):
memory_limit=256M
方法三:优化内存使用(治本方案)
graph TD
A[内存耗尽问题] --> B{排查方向}
B --> C[内存泄漏插件]
B --> D[低效代码]
B --> E[资源过多]
C --> C1[安装Query Monitor插件]
C --> C2[停用插件逐个排查]
D --> D1[检查主题functions.php]
D --> D2[审查自定义代码]
E --> E1[压缩图片]
E --> E2[限制文章修订版]
E --> E3[启用缓存]
具体优化步骤:
-
诊断内存使用:
// 在主题的 functions.php 中添加: add_action('wp_footer', 'output_memory_usage'); function output_memory_usage() { echo '已使用内存: '. round(memory_get_usage() / 1024 / 1024, 2) . 'MB'; echo '峰值内存: '. round(memory_get_peak_usage() / 1024 / 1024, 2) . 'MB'; }
-
禁用问题插件(通过FTP):
- 重命名
/wp-content/plugins
文件夹为plugins_off
- 逐个恢复插件文件夹名,测试哪个导致崩溃
- 重命名
-
核心优化配置(wp-config.php):
// 禁用文章修订版本 define('WP_POST_REVISIONS', false); // 减少自动保存频率(单位:秒) define('AUTOSAVE_INTERVAL', 300); // 禁用后台心跳功能 define('DISABLE_WP_CRON', true);
-
服务器级优化:
# 创建Swap交换文件(1GB) sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
预防措施:
-
定期维护:
- 使用
WP-Optimize
插件清理数据库 - 删除未使用的主题和插件
- 使用
-
资源监控:
# 实时监控内存使用 watch -n 5 'free -m && ps aux --sort=-%mem | head -10'
-
升级方案:
- 当网站流量增长时,升级到更高内存配置
- 考虑使用:VPS 2GB内存 或 云服务器
💡 注意:如果修改后仍出现内存问题,可能是插件/主题存在内存泄漏,需使用调试工具(如 Query Monitor)定位具体代码位置。对于无法解决的复杂情况,建议使用专业WordPress调试服务。