Rootop 服务器运维与web架构

解决php空白页

| 暂无评论

1、修改PHP配置文件 php.ini

short_open_tag = Off 修改为 On   //打开短标签,默认一般都是打开

<?php  //完整标签
<? php phpinfo(); ?>

<?          //短标签
<? phpinfo(); ?>

2、查看apache的error日志

3、查看空白页面的源文件
如果有任何代码,那可能是编码问题(在meta标签)。如果查看的源文件就是空的,那么就是其它程序问题。

4、如果看到phpinfo,但是比如phpmyadmin等等的首页都是空白页,这就要修改php.ini打开display_errors = On 再次访问页面就可以看到require(./…这样的语句无法执行,提示找不到文件(就是No such file),根据提示错误修改。一般这个方法比较实用,而且能找出根本原因。

以下是Google之的资料:

我们在Linux主机上安装一些PHP应用程序的时候,如dedecms、discuz 或其他的php程序,经常会遇到空白页面的问题,如果要解决这样的问题:

首先,第一步要确定 php.ini 中的 error_display 配置选项是否设置为 On,如果不是就请马上改过来;然后,在程序中找到 error_reporting 函数,将其参数改为 E_ALL,如果没有找到该函数,就在 PHP 程序的第一行写入
error_reporting(E_ALL);
现在,应该可以看到程序的错误提示,依据这些信息来判断程序的错误原因,通常都是一些常见错误,如果是那种情况就很好解决啦!例如:
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/www/hosteguide.com/cms/php/inc_login.php:19) in /home/www/hosteguide.com/cms/php/server.php on line 3
这一类问题的原因是,你在程序中使用 session_start() 之前,已经有实际的 HTML 内容输出了,类似 echo 或 print 一条消息了,解决此类问题的办法是,将你的 session_start() 调到程序的第一行;如果这样还是不行,那么,就是属于如题所示的 PHP 程序问题。

第一种情况,在你的程序中使用 session_start() 函数之前没有使用过 header() 函数,并且也没有任何的 HTML 输出,只是 include 了一些 PHP 文件,但在这些 PHP 文件中也没有 header() 函数以及任何的 HTML 输出;对于这种情况,你是否用光标键在 ?> 这个 PHP 代码结束语句后移动检查过呢?如果发现在 ?> 这个后面有空行或几个空格,删除这几个空行或空格,那么问题就解决了;如果你检查之后发现不是这个问题,那么,可能是因为你的 PHP 文件是 UTF8 编码的,其实是 UTF8 编码不是问题所在,问题出在 UTF8 文件最前面可能会有三字节 BOM(Byte Order Mark) 的签名,使用文本编辑器无法看到和编辑它,但是页面还是有输出的,当在 header、setcooke、session_start 等时会产生错误和警告,建议使用 UltraEdit、EmEditor 或者 dreamweaver 来清除它。

第二种情况,这已经不属于 PHP 程序问题,但是对于菜鸟来说,并没有区别;这是属于 HTML 页面编码方面的问题,我曾经遇到过,当时也认为是程序出错了,很是头痛,在这里与大家分享一下经验。将 <meta http-equiv=content-type content=”text/html; charset=UTF-8″> 调整到 <head> 后面,要紧挨着 <head> 后面,为什么会这样呢,这与 DOCTYPE 声明有关,即在你的模板中使用了
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
DOCTYPE 是 document type 的简写,主要用来说明你用的 XHTML 或者 HTML 是什么版本,浏览器根据你 DOCTYPE 定义的 DTD (文档类型定义)来解释页面代码,所以,如果你不注意设置了错误的 DOCTYPE,结果会让你大吃一惊。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/938.html

作者:Venus

服务器运维与性能优化

发表回复