使用诸如WordPress之类的开源平台既有优点也有缺点。它既灵活又可无限扩展,但还要求你对PHP、Linux及Mysql等有一定的了解。在执行故障排除和解决在使用平台时通常会出现的一些错误时,这尤其重要。
打个比方,你被告知达到站点的“PHP内存限制”。很多时候这对于小白用户来说,遇到这种情况只能够手足无措,尤其是因为您不知道是什么原因导致了该问题或如何解决它。其实,此问题是最简单的问题之一,即使对于相对WordPress小白用户,也应该可以解决。
下面我们将解释什么是WordPress内存限制错误,它为什么会在你的WordPress网站上发生,及修复此错误的选项。
WordPress内存限制错误简介
WordPress已经是一个非常成熟与稳定的开源平台,但“世界无完美之物”,也难以避免错误。你可能会遇到许多常见问题,例如臭名昭著的“ 死亡白屏 ”或处于“维护模式”的网站。
不过,大多数WordPress错误并不难解决和修复。尽管如此,它们可能会对小白站长造成威胁,特别是因为他们完全不知道有关发生了什么问题以及如何解决问题的任何信息。
其实这是我们遇到最常见的问题之一– WordPress内存限制错误。这也可以称为“ PHP内存限制错误”,一般你会看到如下类似的提示信息:
fatal error: allowed memory size of 67108864 bytes exhausted
该错误可能在许多不同的情况下发生。但是,最有可能发生在您对网站执行特定类型的操作时,例如:
- 安装并启用新主题或插件。
- 上传图像和其他媒体到网站。
如果您在WordPress网站上遇到此错误,请不要担心。它背后的原因很简单–我们一起来了解它为什么产生,就能很好的解决了。
WordPress内存限制错误产生的原因
报错信息中的“内存限制”即错误之根源。就像其他任何东西一样,您的网站需要一定数量的内存才能存储其所有数据。这包括其数据库和文件,您的所有内容,由插件和主题添加的代码等等。
此内存由服务器提供。购买服务器主机时,将为您的网站分配一定数量的资源,包括用于存储网站及网站运行稳定的内存。
当然,购买昂贵的服务器主机一般情况下可为您的网站提供更多的空间和内存。但,对于小站长来说,都是从基本服务器套餐开始的,这不一定是一个问题。但是,这确实可能因你的服务器分配的内存不足导致内存限制错误。
随着站点的扩大或开始使用更复杂的插件和脚本,最终可能会达到内存限制。
当WordPress的某些工作导致较多内存占用时,就可能会出现PHP内存限制错误,无法完成您尝试执行的操作。
如何检查当前的PHP内存限制
如果你运行的是WordPress 5.2或更高版本,则可以使用“站点健康”工具检查网站上当前的PHP内存限制。在WordPress仪表板中,转到“工具”→“站点健康”→“信息”,然后向下滚动到服务器部分。在这里,您可以看到服务器上的PHP内存限制。
如果可用内存很少(例如32M),那么:您需要增加分配给站点的内存量。下面我们将介绍两种不同的方法,以解决此问题。
如何解决WordPress内存限制错误(2种方法)
与许多常见错误不同,WordPress内存限制问题很容易解决。
当网站达到PHP内存限制时,实际上只有两种解决办法。可以增加分配给站点的内存量,也可以选择升级服务器。让我们探讨一下何时以及如何使用这两种方法。
- 选项1:增加分配给您网站的PHP内存
- 选项2:升级服务器
选项1:增加分配给您网站的PHP内存
这看似简单,但有时显而易见的解决方案是最佳解决方案。如果您的站点内存不足,那么最简单的方法就是增加它可以访问的内存量。
显然,您可以增加限制的范围取决于你的网站所在服务器的内存容量。在下一节中,我们将详细讨论这一方面。但是,您的站点使用的内存少于实际可用的内存并不少见。
您网站的当前内存限制是在其wp-config.php文件中设置的,该限制可能匹配或可能不匹配提供商所允许的限制。因此,第一步是尝试通过编辑文件来增加PHP的内存限制。
使用FTP客户端访问站点的文件
增加站点的内存限制将需要使用安全文件传输协议(SFTP)直接登录到站点。如果您从未执行过此操作,则首先需要安装SFTP客户端 -建议选择FileZilla,免费且相对容易上手:
查找wp-config.php文件
设置并连接FileZilla之后,您应该在与以下类似的界面上查看:
在界面右上区域中,你将看到包含站点文件的文件夹列表。查找站点的“根”文件夹,该文件夹通常以站点的域名命名,或称为public_html或www。打开此文件夹,然后查找名为wp-config.php的文件:
此文件存储有关网站数据库和设置等信息。因此,请务必不要更改除我们将要查看的特定代码行以外的任何内容。实际上,在继续进行任何操作之前,最好对网站进行备份,以防您意外删除或更改了重要内容。
增加站点的内存限制
备份到位后,继续打开wp-config.php文件。它看起来应该像这样:
然后,在文件中查找以下行:
define( 'WP_MEMORY_LIMIT', '256M' );
请注意,该文件中的数字可能有所不同,因为它代表站点的当前内存限制。甚至你还有可能找不到此行。
如果找到该行,尝试将数值调至更高。在大多数情况下,256MB应该足够,当然如果你当前设置256MB还是不够,可以尝试逐步增加。如果找不到该行,则可以将上面的代码粘贴在:“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”的前一行。
然后,更改保存到wp-config.php文件,然后关闭FileZilla。打开您的站点,然后尝试重复首次遇到WordPress内存限制错误时所执行的操作。如果不再出现,则说明问题已解决。
如果仍然遇到错误,则可以尝试打开wp-config.php文件并进一步增加内存限制。但是,如果您尝试几次但不起作用,则可能已达到托管服务提供商允许的最大限制。在这种情况下,您需要尝试其他方法。
但是,在进行下一步之前,值得注意的是,某些主机可能不允许您通过FTP客户端访问站点。在这种情况下,您通常可以通过其他方式(例如,使用cPanel)手动更改内存限制。
又或者使用宝塔面板的站长,完成上述操作就更简单了,登录你的宝塔面板,点击文件-进入网站对应的根目录,找到wp-config.php文件,点击编辑保存即可。
宝塔面板
选项2:升级服务器
每种类型的主机将提供特定数量的资源。但是,有时候,这些资源可能对于您的网站而言会变得不足。
如果您尝试过如上所述那样增加站点的内存限制,但是没有起作用,第一步应该去确定网站当前所使用的服务器提供的内存容量。一般情况下你可以通过服务器提供商提供的网站后台可以查看到,又或者直接与之联系获取相关信息。
如果您已达到站点的最大内存限制,并且还是存在WordPress内存限制错误,则唯一的选择就是升级服务器配置了。
对于那些刚开始时考虑性价比而使用共享主机的站长们,可能是时候升级到独立VPS主机了,后者将会提供了更多的空间和资源。
如果考虑国外云主机,小编推荐:
Linode -特别推荐,这也是我们经常使用的国外服务器提供商。 Linode 可选的数据中心比较多,全球有11个数据中心,其中亚洲两个:孟买1个,新加坡1个,日本1个,悉尼1个;北美5个,全部在美国;欧洲2个:德国法兰克福1个、英国伦敦1个。
此外,Linode 的价格也非常低,提供最低5美金/月,但配置毫不含糊:1GB 内存、1个 CPU、20GB 的固态硬盘存储空间、1TB 流量、40GB 的入口带宽和1000GB 的出口带宽。这个配置对于搭建 Shadowsocks 服务来说,足矣。
Linode服务器价格表
Vultr –这个服务商的服务器,也是非常靠谱的海外服务器。在数据中心方面,甚至比 Linode 还要多,全球共17个数据中心,其中北美有9个(西雅图 Seattle、硅谷 Silicon Valley、洛杉矶 Los Angeles、达拉斯 Dallas、芝加哥 Chicago、新泽西 New Jersey、亚特大 Atlanta 和 迈阿密 Miami;加拿大多伦多);欧洲4个(伦敦 London、阿姆斯特丹 Amsterdam、法兰克福 Frankfurt 和 巴黎 Paris);亚洲四个(日本东京、韩国首尔、新加坡和澳洲悉尼)。
在价格上,Vultr 甚至要比 Linode 还要有优势,最低的套餐去到逆天的 2.5美金/月,当然配置会稍微比 Linode 的 5美金/月套餐稍微差一些,20GB的固态硬盘、1CPU、512MB内存和500GB 的流量。
相对于 Linode,Vultr 还有个便利性,就是后者支持 PayPal 和 比特币,前者则需要使用信用卡。
Vultr服务器价格表
如果是国内服务器提供商,这就没什么好推荐的了,无非就是阿里云、腾讯云之类的。注:我们一般采用的是阿里云。
小结
WordPress网站上遇到错误可能会令人沮丧,尤其是如果对这个错误没有掌握太多信息时。幸运的是,WordPress内存限制错误比大多数错误更容易解决。你只要知道问题所在,并且从问题的起源点着手解决,就非常容易解决了。
在处理PHP内存限制问题时,主要有两个选择:
- 使用SFTP客户端或类似工具手动增加站点的内存限制。
- 升级提供更多内容可使用的服务器主机。
如果你有关于如何处理此特定错误有任何疑问,不妨留言与大家一起探讨!
评论0