访问云虚拟主机的PHP网站页面显示异常

云虚拟主机部署PHP网站程序后,可能会因为网站程序环境配置不当,引起Session缓存失败,从而导致访问PHP网站时页面显示异常。本文介绍这种情况的可能原因和解决方案。

问题现象

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

    类似报错如下图所示:报错2

  • 问题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

    类似报错如下图所示:报错3

可能原因

访问PHP网站出现异常可能程序环境配置不当,引起Session缓存失败。您可以在云虚拟主机管理控制台开启输出缓冲区数据块设置功能,增加输出控制和提高页面加载速度,解决访问PHP网站出现的异常问题。

重要

访问网站出现异常也可能因为代码程序本身不完善导致,需要您的程序开发人员具体定位。

解决方案

说明

站点程序的后台登录异常,在排除代码问题的前提下,也可以参照本文操作进行解决。

  1. 登录云虚拟主机管理页面

  2. 找到待操作的目标云虚拟主机,单击对应操作列下的管理

  3. 在左侧导航栏,选择高级环境设置 > PHP.INI设置

  4. PHP.INI设置页面的PHP环境相关参数区域,选择输出缓冲区数据块设置启动状态。

  5. 单击保存设置,然后单击确认

    输出缓冲区数据块设置参数默认为禁用状态,成功启动后,允许PHP将输出的内容先放进内存,而不是立即显示或者读取。

    PHP

  6. 清空浏览器缓存后,重新访问网站。

    • 访问正常:问题已解决,操作结束。

    • 访问异常:问题仍未解决,请联系您的网站程序开发人员,具体定位网站代码程序本身是否存在问题。