我在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ä¸ãä¸æ¬¡åç 究ä¸ä»ä»¬æ¯åºäºä»ä¹åå æè¿ä¸ªå½æ°å»æçã
é误æå¶ç¬¦å»æé误信æ¯ï¼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.可以用火狐浏览器然后装上Firebug错误提示也不错
第2个回答 推荐于2016-11-30
提示你在25行,你可以找找上下两行,程序运行到这里出错,可能是上下文有错。至于具体什么错误那就得看你出的什么错,有的时候提示很明确,有的时候很模糊,因为程序自己分析不出来了。
所以还是要靠自己,语法什么的熟悉以后找错还是比较容易的。
另外你可以自己写代码测试,比如跟踪输出变量,之类的本回答被提问者和网友采纳
所以还是要靠自己,语法什么的熟悉以后找错还是比较容易的。
另外你可以自己写代码测试,比如跟踪输出变量,之类的本回答被提问者和网友采纳
第3个回答 2012-12-28
在提示错误的前后行找,错误的真正地方不一定在提示的那一行
第4个回答 2012-12-28
25或者24行有符号写错了