如何查看php代码语法错误

我在DW里运行php代码, 里面一直显示“There is a syntax error on line25. Code hinting may not work until you fix this error.”
但我检查line25,没发现什么错误。有没有什么工具可以明确告诉我是什么错误的?

错误抑制符去掉错误信息,eval和echo一样并不是函数,不能使用变量函数的方法调用比如:$func = ‘eval’$func()这样的调用就是无效的。它会提示没有eval函数,如果你自己定义这么一个函数也是有问

错误抑制符去掉错误信息,eval和echo一样并不是函数,不能使用变量函数的方法调用比如:
$func = ‘eval’
$func()这样的调用就是无效的。它会提示没有eval函数,如果你自己定义这么一个函数也是有问题的。因为eval是一个关键字。
eval调用和include差不多,如果被包含文件中没有明确return就返回null。如果直接eval我们需要检查的文件会造成被检查的文件内代码被执行,这可不是我们想要的,我们只需要检查一下这个文件的语法是否正确。 我们可以在要检查的文件之前添加return 语句,让代码提前跳出,那么后面的代码就不会执行了。好的,就这么干。代码如下:
< ?PHP
if(!function_exists('PHP_check_syntax')) {
function PHP_check_syntax($file_name,
&$error_message = null) {
$file_content = file_get_contents($file_name);
$check_code = "return true; ?>";
$file_content = $check_code .
$file_content . "< ?PHP ";
if(!@eval($file_content)) {
$error_message = "file: " .
realpath($file_name) . " have syntax error";
return false;
}
return true;
}
}
if(!PHP_check_syntax("file.PHP", $msg)) {
echo $msg;
}
else {
echo "Woohoo, OK!";
}
< ?PHP
foreach:: a => b
?>
因为Parse error 是没法被 set_error_handler处理函数处理的。这个异常没办法catch到。所以才使用了@来抑制错误。这带来的问题就是我们无法得到详细的错误信息。 不过目前我需要的功能也只是检查语法是否正确。不正确的话重新编译模板文件,就这么简单,至于语法错误,在显示网页的时候自然会看得到。
PHP检查语法错误最好的办法就是这个被遗弃的PHP_check_syntax这个方法回到PHP中。下次再研究下他们是出于什么原因把这个函数去掉的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-28
1.可用ZendStudio,这是一款编写PHP的一种软件,报错,代码提示都很好,可以下载一个
2.可以用火狐浏览器然后装上Firebug错误提示也不错
第2个回答  推荐于2016-11-30
提示你在25行,你可以找找上下两行,程序运行到这里出错,可能是上下文有错。至于具体什么错误那就得看你出的什么错,有的时候提示很明确,有的时候很模糊,因为程序自己分析不出来了。
所以还是要靠自己,语法什么的熟悉以后找错还是比较容易的。
另外你可以自己写代码测试,比如跟踪输出变量,之类的本回答被提问者和网友采纳
第3个回答  2012-12-28
在提示错误的前后行找,错误的真正地方不一定在提示的那一行
第4个回答  2012-12-28
25或者24行有符号写错了
相似回答