PHP内存限制优化:PHP内存限制怎么调?新手零报错优化指南

PHP内存限制不足是建站时最常遇到的报错之一,表现为前台白屏、后台无法上传文件或直接显示 Allowed memory size 错误。
不少新手一看到这些提示就发慌,其实只要找到正确的位置改一个数字就能解决。
本文从判断问题开始,到手把手修改、验证,每一步都写清楚路径和命令,保证你能独立完成。

先搞清楚你的PHP内存限制是多少

使用宝塔面板的用户,可以直接在面板内查看:打开【软件商店】→ 找到当前使用的PHP版本 → 点击【设置】→ 切换到【配置修改】页面,搜索 memory_limit 这一行。
未修改过的服务器默认值通常是 128M,如果你的站点用上了复杂插件(比如会员系统、商城)或高分辨率图片,128M很容易被撑爆。

也可以通过写一个简单PHP文件来检测:

上传到网站根目录,用浏览器访问,搜索 memory_limit 就能看到当前值和配置文件的加载路径。
用完后记得删掉这个文件,避免泄露环境信息。

四种常见的修改方法(选一种就行)

根据你的网站环境和权限,从下面挑一个最适合自己的方案执行。

方法一:直接改 php.ini(推荐,一劳永逸)

通过SSH连接服务器,执行以下命令找到php.ini位置:

php --ini | grep "Loaded Configuration File"

使用vim或nano打开该文件,找到 memory_limit 这一行,将值改为 256M512M

memory_limit = 256M

保存后重启PHP服务:

systemctl restart php-fpm   # CentOS/Ubuntu 通用
# 或者 service php-fpm restart

方法二:在宝塔面板里改

宝塔用户不需要接触命令行。
进入【软件商店】→ 找到你的PHP版本 → 点击【设置】→ 【配置修改】→ 搜索 memory_limit → 把 128M 改成 256M,然后点击【保存】→ 再点【重启】即可。
注意修改后务必点击“重启”按钮,只保存不会生效。

方法三:通过 .htaccess 文件修改(适用于虚拟主机)

如果你用的是虚拟主机,没有权限改php.ini,可以在网站根目录的 .htaccess 文件中加入以下代码:

php_value memory_limit 256M

保存后立即生效,无需重启。
如果修改后报500错误,说明主机禁用了 .htaccessphp_value 指令,只能联系客服或用方法四。

方法四:在 WordPress 的 wp-config.php 中添加(仅限WP用户)

wp-config.php 中找到 define('WP_DEBUG', false); 这一行,在它前面加入:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');  // 管理后台专用

保存后刷新后台页面即可生效。
此方法只影响WordPress,其他PHP程序不会受影响。

避坑指南:为什么改完还是报错?

修改后问题依旧是最常见的反馈,通常由以下几个原因导致:

  • 没重启PHP服务:宝塔用户改了配置后要点“重启”按钮,命令行用户要执行 systemctl restart php-fpm。只保存不重启等于没改。
  • 改错了文件:php.ini可能有多份(PHP CLI和FPM各一份),宝塔面板一般改的是FPM的版本。使用 phpinfo() 确认实际加载的文件路径。
  • 主题或插件限制了内存:有些WordPress主题会自定义内存限制,比如 ini_set('memory_limit','64M'),优先级高于php.ini。排查办法是暂时禁用所有插件、切换默认主题,看问题是否消失。
  • 数值设置过大:把内存改成 1024M 甚至 -1 虽然能解决眼前问题,但可能导致服务器OOM(Out of Memory)。建议从 256M 开始,如果不够再逐步增加到 512M

验证修改是否生效

修改并重启后,可以通过以下两种方式验证:

  1. 在网站根目录创建一个 info.php 文件,写入 ,用浏览器访问,查看 memory_limit 项是否显示新值。测试完立刻删除该文件。
  2. 在WordPress后台进入【工具】→【站点健康】,如果之前提示“PHP内存限制不足”,刷新后应变为正常状态。

如果你执行了以上步骤仍遇到问题,建议先检查是否有 .user.ini 文件覆盖了设置,或者联系主机商确认是否限制了修改权限。
memory_limit 调大只是第一步,长期来看还应优化数据库查询、压缩图片和清理无用插件,才能真正降低内存压力。

常见问题快速解答

Q:改到多少比较安全?
A:普通个人博客/企业站建议 256M,用了页面构建器或商城插件可以升到 512M。不建议超过 1024M

Q:为什么宝塔改了值但phpinfo还是显示128M?
A:先检查改的是否为当前PHP版本的配置文件,宝塔每个PHP版本独立,确认软件商店里选的是你网站正在用的版本。

Q:改了之后网站打不开怎么办?
A:通常是因为填入了非法字符或值。可以用SFTP或宝塔文件管理器,把php.ini中 memory_limit 改回 128M,然后重启PHP即可恢复。

分享到:
上一篇
数据库连接数优化指南:配置步骤与常见问题
下一篇
网站防篡改系统部署指南:从零开始保护网站文件安全
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意