发布于2026-07-07 阅读(0)
扫一扫,手机访问
很多用宝塔面板跑低配服务器的朋友,都遇到过系统突然卡死的情况——明明是轻量应用,CPU负载也不高,但就是鼠标都拖不动、SSH半天没反应。其实罪魁祸首十有八九不是面板本身,而是某个PHP进程把内存吃光了,触发OOM Killer,顺带把mysqld或nginx一起杀掉,整机直接假死。
宝塔低配机卡死主因是PHP脚本内存与超时未限制:需同步修改/www/server/php/{版本}/etc/php-fpm.d/www.conf(FPM模式,含php_admin_value[memory_limit]和max_execution_time)和php.ini(CLI模式),并重启php-fpm服务,再通过info.php和命令行验证Local/ Master值一致。

PHP脚本没设内存和超时限制,是宝塔低配机卡死的常见直接原因——不是面板本身慢,而是某个 php 进程吃光内存后触发 OOM Killer,连带杀掉 mysqld 或 nginx,整机假死。
WordPress 插件、采集脚本、未加限制的 Composer 安装、甚至一段递归错误的 foreach 都可能让单个 PHP 进程突破 512MB。而宝塔默认的 php-fpm 配置里,pm.max_children 和 php_admin_value[memory_limit] 往往没调,或只改了面板里的「PHP 设置」却漏掉 www.conf 中的实际生效项。
php /www/wwwroot/x.php)完全无效memory_limit = 128M 在 php.ini 里写了,但 php-fpm 的 www.conf 可能用 php_admin_value[memory_limit] = 512M 覆盖,实际以后者为准php -i | grep "Loaded Configuration File" 查到的 php.ini 路径,和 FPM 模式不是同一个文件别只在宝塔面板点几下就以为完事。真实生效靠的是这两个文件:
/www/server/php/{版本号}/etc/php-fpm.d/www.conf —— 控制所有通过 Nginx 转发进来的 PHP 请求(网站访问)/www/server/php/{版本号}/etc/php.ini —— 控制 CLI 模式(如计划任务、SSH 手动执行)在 www.conf 里找到 php_admin_value[memory_limit] 行,改成:
php_admin_value[memory_limit] = 256M
再往下找 php_admin_value[max_execution_time],补上:
php_admin_value[max_execution_time] = 60
在 php.ini 里搜 memory_limit 和 max_execution_time,确保它们分别是:
memory_limit = 128M
max_execution_time = 30
改完必须重启服务:sudo systemctl restart php-fpm-{版本号}(比如 php-fpm-74)
光改配置不验证,等于没做。分两步确认:
info.php 放到网站根目录,内容为 ,浏览器打开看 memory_limit 和 max_execution_time 值是否是你设的数字,且「Local Value」和「Master Value」一致php -r "echo ini_get('memory_limit').PHP_EOL;" 和 php -r "echo ini_get('max_execution_time').PHP_EOL;",输出应匹配 php.ini 里的值Local Value 是 128M 但 Master Value 是 512M,说明 www.conf 还在覆盖,得回去再查有些 PHP 脚本会绕过 memory_limit,比如用 set_time_limit(0) 或 ini_set('memory_limit', '-1')。与其等它爆发,不如从源头掐断:
www.conf 里加一行:php_admin_flag[allow_url_fopen] = off(防远程文件加载失控)www.conf 加:php_admin_flag[display_errors] = off(避免错误堆栈反复写日志占满磁盘)php 类型任务,命令前统一加上内存限制:/usr/bin/php -d memory_limit=128M /www/wwwroot/cron.php最易被忽略的一点:改完 www.conf 后不重启 php-fpm,配置永远不加载;而重启后若看到 systemctl status php-fpm-xx 报 ERROR: unable to load lib,大概率是 www.conf 里某行多了空格或用了中文标点——这种错误不会报在面板里,只会静默失败。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8