你获得了应有的PHP内存份额吗?
我记得当4K RAM被认为是大量内存的时候。当然,这是很久以前的事情了,从那时起事情肯定已经进步了。今天,每过一两年,我们的个人工作站的默认配置就会增加一两个Giga-byte的RAM。嗯,在线共享PHP环境中的内存也有类似的趋势。
演变
随着Joomla及其扩展的演变,共享主机环境似乎需要更多的PHP内存来支持由Joomla驱动的网站。我的经验表明,对于典型的网站,推荐的PHP内存量为48M,在许多情况下,这个数字可以增加到64M以上。
有时你的php.ini文件说了一回事,但现实却证明是另一回事。当你的主机公司给你回复说:“你的php.ini内存限制设置为128M”时,尽管你尝试加载网站页面时看到了可怕的“致命错误:允许的内存大小为XXXXXXX字节已耗尽...”,你该怎么办?好吧,继续阅读,了解如何自己调试问题,以及如何使用你的发现来回复你的主机公司的支持团队。首先,你应该知道,当你得到如下错误消息时:
致命错误:允许的内存大小为25165824字节耗尽(尝试分配71字节)
这通常意味着你不能分配超过24M(这是1024 x 1024 x 24 = 25165824)字节的内存——无论你的主机商告诉你什么,或者你的php.ini文件中声明了什么,或者你的Joomla系统信息php信息标签中声明了什么。
首先你应该检查的是你的Joomla系统信息菜单中的PHP信息标签,如图以下两个图所示
从这两个图来看,这个Joomla!网站环境中的PHP内存设置为64M。但我们如何验证这一点呢?
我编写了一个简单的php脚本来强制测试内存分配。只需下载以下脚本并将其上传到你的主机环境。如果你将其上传到html公共文件夹,则通过访问URL http://www.yourdomain.com/phpmemtest.php来执行它——你应该看到以下图中的输出。
根据这个脚本,看起来在这个环境中只有48M可用,并且有些因素阻止了我们的脚本达到PHP信息标签声明的64M分配限制。这些信息——脚本及其输出——应该足以向您的托管支持团队提交以记录您的诉求。
针对Joomlapolis论坛上许多关于内存耗尽的需求,我们创建了一篇FAQ文章,描述了调试此类情况的基本步骤。这篇FAQ文章可以在这里阅读。注意社区是如何响应并贡献Apache设置的。
希望这篇文章能帮助那些面临内存问题的人。
在Joomla社区杂志上发布的某些文章代表作者对特定主题的个人观点或经验,可能不符合Joomla项目官方立场。
通过接受,您将访问https://magazine.joomla.net.cn/之外第三方外部提供的服务
评论