1panel 面板 PHP 内存限制怎么修改

域名注册
域名注册 初级会员超兽战士 👑年卡会员
发布于 2026-10-08 21:56 ·1 浏览 ·0 回复

照着走一遍,你就能把 1Panel 里任意一个 PHP 环境的 memory_limit 改掉并让它真正生效,同时避开「改了没反应」和「重建被覆盖」这两个最常见的坑。

第一步:确认要改哪个 PHP 环境,以及现在限制是多少

先搞清楚你的网站跑在哪个 PHP 环境上,否则很容易改了一个用不上的容器。打开 1Panel 左侧菜单「网站」→「网站」,在你出问题的站点右侧点「更多」→「运行环境」,记下环境名称(例如 php8、php7.4-run)。也可以在「网站」→「运行环境」列表里直接看到所有环境和对应的 PHP 版本号。

再看当前生效值。进「容器」→「容器」,找到名称以 1panel-php 开头的容器(就是刚才那个环境),点右侧「终端」,执行:

php -i | grep -E "Loaded Configuration File|memory_limit"

第一行是 php.ini 的真实路径(官方镜像一般是 /usr/local/etc/php/php.ini),第二行是当前值。默认多为 128M。

注意:一个 1Panel 里可能有多个 PHP 环境(php7.4 / php8.0 / php8.1),它们各自独立。网站报内存不足时,只改一个环境不解决问题。

第二步:在面板界面改(推荐做法)

这一步在图形界面完成修改,得到的结果是配置被面板持久化,容器重建也不会丢。路径:左侧「网站」→「运行环境」→ 点击目标环境名称进入详情页 → 切到「配置修改」标签页。页面上会列出 max_execution_time、max_input_time、memory_limit、post_max_size、upload_max_filesize 等常用项,把 memory_limit 从 128M 改成 256M 或 512M,点右下角「保存」。

如果你要改的值不在这个列表里,切到同一详情页的「配置文件」标签(部分版本叫「PHP 配置文件」),会直接打开 php.ini 全文编辑。搜索 memory_limit,改成:

memory_limit = 512M

保存即可。这两处改的都是同一个文件,用哪种都行。

第三步:让配置生效(重启运行环境)

保存后配置只是写进文件,PHP-FPM 进程还没重新读取,必须重启容器才会生效。回到该运行环境详情页,点右上角的「重启」按钮;或者到「容器」→「容器」,在对应容器右侧点「重启」。

重启完成后,重复第一步的命令验证:

php -i | grep memory_limit

输出 memory_limit => 512M 就成功了。网站里如果装了 phpinfo 页面,刷新一下也能看到 memory_limit 变成 512M。

注意:不要用 nginx -s reload 那种轻量重载,PHP-FPM 读的是启动时的 php.ini,必须重启容器(或对 FPM 主进程发 kill -USR2 1)才生效。

第四步:万一界面上没找到,用命令行兜底

如果你的 1Panel 版本界面上没有「配置修改」标签,就走容器终端。进入容器终端后:

sed -i 's/^memory_limit.*/memory_limit = 512M/' /usr/local/etc/php/php.ini

如果该文件的 memory_limit 是被注释掉的(前面有 ;),sed 会匹配不到,这时改用追加方式,新建一个片段文件(官方镜像会自动加载 conf.d 下所有 ini):

echo "memory_limit = 512M" > /usr/local/etc/php/conf.d/99-memory.ini

然后按第三步重启容器。

注意:容器内手改的文件写在容器可写层,一旦在面板里重新部署该运行环境(重建容器),改动就会全部丢失。长期使用请务必回到第二步用面板界面改。路径也可能因镜像不同而不同,以第一步 php --ini 查到的为准。

第五步:把容易一起出问题的参数也调掉

只改内存往往还不够。上传大文件、跑长任务时报错,多半还要一起调 upload_max_filesize、post_max_size、max_execution_time。在同一个「配置修改」页面里把这几项同步放大,例如 post_max_size = 64M、upload_max_filesize = 64M、max_execution_time = 300,保存后重启。

注意:memory_limit = -1 表示不限制,看着省事,但容器本身有内存上限(面板创建运行环境时设置的内存限额),超了会被系统直接 OOM Kill,表现是 PHP 进程莫名消失,反而更难排查。建议给一个明确数字。另外 WordPress 这类程序有自己的 WP_MEMORY_LIMIT 常量,写在 wp-config.php 里,必要时一并改成相同的值。

小结

  • 先确认网站用的是哪个 PHP 环境,别改错容器。
  • 首选路径:网站 → 运行环境 → 详情 → 配置修改 / 配置文件,改 memory_limit 后保存。
  • 改完必须重启该运行环境(容器),否则不生效。
  • 用 php -i | grep memory_limit 验证结果,别靠猜。
  • 优先用面板界面改,容器内手改会在重新部署时丢失。
  • 上传/超时相关参数一并调整,避免只解决一半问题。
版权声明:本文来自 GJ站长论坛《1panel 面板 PHP 内存限制怎么修改》
原文链接:https://www.gj0.com/thread-1213.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~