é误æå¶ç¬¦å»æé误信æ¯ï¼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ä¸ãä¸æ¬¡åç 究ä¸ä»ä»¬æ¯åºäºä»ä¹åå æè¿ä¸ªå½æ°å»æçã
温馨提示:答案为网友推荐,仅供参考