php語(yǔ)法檢查的方法總結(jié)
我們可以使用lint檢查
用lint靜態(tài)檢查。
靜態(tài)是一種只檢查語(yǔ)法描述方法而不執(zhí)行程序的方法。
此時(shí)使用lint命令。
※php_check_syntax這個(gè)語(yǔ)法檢查函數(shù)已經(jīng)被廢止,所以不能使用。
然后準(zhǔn)備實(shí)際出現(xiàn)錯(cuò)誤的php文件。
lint_test.php
<?php echo "error"
它只是一個(gè)在屏幕上顯示error的代碼。
將lint_test.php移動(dòng)到某個(gè)目錄并發(fā)出以下命令。
php -l lint_test.php
執(zhí)行結(jié)果
PHP Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2 Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2Errors parsing lint_test.php
syntax error=輸出語(yǔ)法錯(cuò)誤指示。
它還返回錯(cuò)誤行數(shù)為line 2。
因?yàn)橛衭nexpected end of file,是第2行沒(méi)有“;”是原因。
那么,修改lint_test.php,再次執(zhí)行l(wèi)int命令。
<?php echo "error";
執(zhí)行結(jié)果為:
No syntax errors detected in lint_test.php
顯示沒(méi)有語(yǔ)法錯(cuò)誤。
使用xdebug動(dòng)態(tài)檢查語(yǔ)法錯(cuò)誤
首先,啟用xdebug。
①?gòu)南旅娴墓俜秸军c(diǎn)下載xdebug,并記下下載的.dll文件所在的本地環(huán)境的路徑。
https://xdebug.org/download.php
② 將以下內(nèi)容添加到php.ini中。
zend_extension = ①中記錄的路徑
②重啟Web服務(wù)器(Apache等)
這樣就完成了設(shè)置。
使用xdebug檢查錯(cuò)誤
我們運(yùn)行上述使用的lint_test.php。
lint_test.php
<?php echo "error"
有一個(gè)錯(cuò)誤,因?yàn)樽詈鬀](méi)有分號(hào)。
內(nèi)容與執(zhí)行l(wèi)int時(shí)的內(nèi)容相同,但附加了一些裝飾以便于查看。
與lint的最大區(qū)別在于執(zhí)行代碼后出現(xiàn)的錯(cuò)誤,因此可以說(shuō)由于動(dòng)態(tài)檢查而出現(xiàn)錯(cuò)誤。
相關(guān)文章
Zend Framework教程之Loader以及PluginLoader用法詳解
這篇文章主要介紹了Zend Framework教程之Loader以及PluginLoader用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend Framework自動(dòng)加載機(jī)制的原理,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03CI框架自動(dòng)加載session出現(xiàn)報(bào)錯(cuò)的解決辦法
很多程序員在CI中使用session的時(shí)候,開(kāi)啟自動(dòng)加載session之后網(wǎng)站就報(bào)錯(cuò)了,這篇文章主要介紹了CI框架自動(dòng)加載session出現(xiàn)報(bào)錯(cuò)的解決辦法,需要的朋友可以參考下2014-06-06php中curl和soap方式請(qǐng)求服務(wù)超時(shí)問(wèn)題的解決
本篇文章主要介紹了php中curl和soap方式請(qǐng)求服務(wù)超時(shí)問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06PHP foreach循環(huán)使用詳解與實(shí)例代碼
在PHP中的foreach是用來(lái)進(jìn)行循環(huán)對(duì)一個(gè)數(shù)組的所有元素。2010-05-05