识别不打印ERROR的PHP问题,代码不是您的

时间:2011-01-25 08:55:46

标签: php

我要建立一个网站,我现在不知道该怎么做。我可以在Ubuntu的虚拟机上运行它,在我公司的Debian服务器上,在WAMP上运行...但是我无法在客户端的服务器上运行它。

我认为问题在于获取。我无法修改的表单由get发送,使用下一个url:

http://domain.com/SGAP/dades_proj_edit.php?idedit=2011854&id=&projectname=afsdfasdf&comptitle=asasfdafsdafs&codarea=ECIV&grauimp=1&codtipus=2&codsubtipus=6&subtipusdef=fdsaafasfddfs&codpais=8&clientid=2&promotor=asdfa&entfin=fsdafadsfds&impcontract=2&initdate=21%2F01%2F2011&findate=30%2F01%2F2011&uteflag=false&utepartic=&utepercent=0&descprelim=fdsadasdadfsadfs&codprojstatus=1&statusstamp=25%2F01%2F2011&cruserid=&action=update

Firefox显示一个没有错误的空白页面。我试图通过error_reporting(E_ALL)和ini_set(“error_reporting”,E_ALL)强制显示所有错误,以显示是否发生了某些事情,但等待页面显示为0错误。

我认为这是一个$ _GET错误,我试图将其置于页面顶部,最后是<?php if($_GET["test"]) echo "Works"; ?>并使用以下网址调用网页:domain.com/SGAP/dades_proj.edit。 php?test =测试,它从头到尾工作......我不知道错误在哪里。

我可以检查一下白页到底在哪里?提前谢谢!

2 个答案:

答案 0 :(得分:1)

这就是我要做的事。

从文件/堆栈的顶部开始,添加以下代码:

<?
$myUniqueCounter = 0;
error_log(++$myUniqueCounter . ', line ' . __LINE__ );

然后,在整个文件/堆栈中复制并粘贴error_log行,并查看它停止记录的位置。

答案 1 :(得分:1)

我偶尔会看到php没有空白输出。通常,解决此问题的唯一方法是从文件中删除所有内容,然后一次将代码添加回一行。当它停止工作时,你知道你刚刚添加的任何东西都会导致故障。您可以尝试使用-l标志运行php,以检查语法,但这可能找不到问题;唯一确定的方法就是在输出发生变化之前添加或删除内容。

我知道这没有多大帮助,但没有其他方法来调试问题,没有用调试器执行php本身...实际上,你可以这样做;你能从gdb运行php吗?这可能会帮助您找到导致问题的原因,但不能保证。