访问云虚拟主机的PHP网站页面显示异常
本文介绍访问云虚拟主机PHP网站页面显示异常的常见原因和解决方案。
问题描述
云虚拟主机部署PHP网站程序后,访问该网站出现代码异常等问题,但该程序在其他服务器或平台中正常运行,且搭建本地环境测试网站程序也运行正常。常见报错信息如下所示:
问题1:
session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /includes/ecapp.base.php:4312) Error File: /includes/libraries/session.lib.php at 390 line.
问题2:
warning:session_start():Cannot send session cookie - headers
类似报错如下图所示:
问题3:
Warning: Cannot modify header information - headers already sent by (output started at /data/home/qxu00000****/htdocs/wp-admin/setup-config.php:334) in /data/home/qxu00000****/htdocs/wp-admin/setup-config.php on line 75
类似报错如下图所示:
问题原因
分析上述问题的报错信息,访问PHP网站出现异常可能是程序环境配置不当,引起Session缓存失败。
说明
访问网站出现异常也可能因为代码程序本身不完善导致,需要您的程序开发人员具体定位。
解决方案
基于上述原因,您可以在云虚拟主机管理控制台开启输出缓冲区数据块设置功能,解决访问PHP网站出现的异常问题。
说明
站点程序的后台登录异常,在排除代码问题的前提下,也可以参照本文进行解决。
登录云虚拟主机管理页面。
找到待操作的目标云虚拟主机,单击对应操作列下的管理。
在左侧导航栏,选择高级环境设置>PHP.INI设置。
在PHP.INI设置页面的PHP环境相关参数区域,选择输出缓冲区数据块设置为启动状态。
单击保存设置。
输出缓冲区数据块设置参数默认为禁用状态,成功启动后,允许PHP将输出的内容先放进内存,而不是立即显示或者读取。
清空浏览器缓存,重新访问网站,确认访问正常。
您需要等待大约5分钟左右的时间,设置生效后再次测试访问。