來源:不言 發(fā)布時間:2019-01-14 11:19:11 閱讀量:1240
php中語法檢查是非常有必要的,如果不檢查語法,則在發(fā)生錯誤時無法正常工作,如果同時執(zhí)行語法檢查,則可能不會發(fā)生該錯誤,本篇文章我們就來看一看php語法檢查的方法。
我們可以使用lint檢查
用lint靜態(tài)檢查。
靜態(tài)是一種只檢查語法描述方法而不執(zhí)行程序的方法。
此時使用lint命令。
※php_check_syntax這個語法檢查函數(shù)已經(jīng)被廢止,所以不能使用。
然后準(zhǔn)備實際出現(xiàn)錯誤的php文件。
lint_test.php
1 2 |
|
它只是一個在屏幕上顯示error的代碼。
將lint_test.php移動到某個目錄并發(fā)出以下命令。
1 |
|
執(zhí)行結(jié)果
1 |
|
syntax error=輸出語法錯誤指示。
它還返回錯誤行數(shù)為line 2。
因為有unexpected end of file,是第2行沒有“;”是原因。
那么,修改lint_test.php,再次執(zhí)行l(wèi)int命令。
1 2 |
|
執(zhí)行結(jié)果為:
1 |
|
顯示沒有語法錯誤。
使用xdebug動態(tài)檢查語法錯誤
首先,啟用xdebug。
①從下面的官方站點下載xdebug,并記下下載的.dll文件所在的本地環(huán)境的路徑。
https://xdebug.org/download.php
② 將以下內(nèi)容添加到php.ini中。
1 |
|
②重啟Web服務(wù)器(Apache等)
這樣就完成了設(shè)置。
使用xdebug檢查錯誤
我們運行上述使用的lint_test.php。
lint_test.php
1 2 |
|
有一個錯誤,因為最后沒有分號。
內(nèi)容與執(zhí)行l(wèi)int時的內(nèi)容相同,但附加了一些裝飾以便于查看。
與lint的最大區(qū)別在于執(zhí)行代碼后出現(xiàn)的錯誤,因此可以說由于動態(tài)檢查而出現(xiàn)錯誤。