虚拟主机因为是共享环境,所以主机提供商就会在每台虚拟主机上设定一定的值,来约束规范每个用户所能使用的内存、流量或CPU的一定的值。所以用户如果超过了这个设定的值,就会在出现在加载网页的时候网站页面还没有加载完成,就会停止加载。

这时查看报错信息error_log会出现如下的报错PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /home/doowifhc/public_html/wp-includes/wp-db.php on line 1999

以下是一个安装了cPanel面板的虚拟主机出现的该问题的解决思路:

问题描述:客户打开网站时出现网站图片加载不完全的问题。推荐阅读:为什么大家喜欢选择虚拟主机?

解决思路:

1.输入域名打开网站,复现了客户的问题,有一半的页面图片未正常显示。

2.查看了网站根目录下的 log

[30-Nov-2020 03:20:56 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /home/doowifhc/public_html/wp-includes/wp-db.php on line 1999

问题定位: Allowed memory size 不够用

解决方法:

打开cPanel —> 编辑PHP.ini文件

默认是256M的我修改为512M

网站首页可以打开。

但还是需要注意,虚拟主机毕竟是共享环境,所以在主机性能上时会有一定限制的,所以虽然可以通过修改配置文件,达到可是使用的性能,但不少虚拟主机提供商是不允许用户占用这么大的内存的,所以如果你的网站需要经常调整配置来达到网站的正常加载,建议可以更换虚拟主机以上的主机了。更多内容可以参考了解虚拟主机的限制有哪些