我有一个服务器设置,其中只有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行的“未知”中没有此类文件或目录
答案 0 :(得分:4)
尝试从.htaccess
文件
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)