PHP脚本显示空白屏幕

时间:2010-09-10 09:02:29

标签: php

我有一个服务器设置,其中只有phpinfo()的测试脚本可以正常工作。

当我尝试在其上运行我的应用程序时,它会显示为空白屏幕。

我从浏览器调用index.php。前几行如下:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once('codelibrary...

然而,屏幕仍然是空白。


编辑1

这是文件的结构:

/.htaccess
/index.php
/codelibrary/inc/user-top.php
/codelibrary/inc/variables.php
/codelibrary/inc/config.php

的index.php

<?php 
require_once('codelibrary/inc/user-top.php'); 
...

/codelibrary/inc/user-top.php

<?php
require_once("./codelibrary/inc/variables.php"); 
...

/codelibrary/inc/variables.php

<?php
include_once('config.php');
...

我认为这里的引用可能是一个问题,所以我将其更改为:

require_once("./codelibrary/inc/config.php");

同样,但没有运气。


编辑2

啊哈哈!感谢Col和TopQ指出我应该查看日志文件,它说:

  

[10-Sep-2010 17:06:02] PHP警告:PHP启动:无法加载动态库'/ usr / local / lib / php / extensions / no-debug-non-zts-20090626 / suhosin。所以' - /usr/local/lib/php/extensions/no-debug-non-zts-20090626/suhosin.so:无法打开共享对象文件:第0行的“未知”中没有此类文件或目录

6 个答案:

答案 0 :(得分:4)

尝试从.htaccess文件

设置display_errors
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

答案 1 :(得分:3)

在浏览器中使用“查看源代码”,查看脚本是否正在编写浏览器可能无法呈现的任何内容。

修改

如果你得到一个http 500响应,那么你总是可以从命令行对你的脚本进行php lint检查:

php -l <filename.php>

对代码语法的一个非常有用且经常被遗忘的检查。

答案 2 :(得分:2)

检查PHP错误日志。通常是语法错误或缺少依赖项。

答案 3 :(得分:1)

问题可能如下:在脚本运行之前发生错误(即在解析时发生。可能是一些语法错误)。由于您的脚本未运行,因此无法动态更改错误级别。您需要在error_reporting中设置php.ini,或尝试点火建议,这应该会产生相同的结果。

答案 4 :(得分:0)

如此处的其他答案中所述,如果您的脚本中存在错误,则无法动态设置错误级别。

您可以将正确的指令添加到当前目录中的.htaccess文件,webserver配置或php.ini文件(http://php.net/manual/en/errorfunc.configuration.php)。你需要在php_flag指令前加上php_flag display_errors on

如果无法将命令添加到.htaccess文件,则最有可能的服务器配置不允许覆盖这些属性。请咨询服务器维护人员以更改这些值,允许您基于每个文件夹覆盖这些指令并访问虚拟主机的错误日志。

答案 5 :(得分:0)

考虑到这是一个将由您的组外的用户(浏览器/网络服务器)执行的脚本,我认为应该使用权限755设置该文件,因为这允许您进行更改而不是其他任何人确保浏览器可以执行脚本(755 - &gt; -rwxr-xr-x)