PHP 命令行?是的,您可以!將 PHP 用於一般目的的腳本並將命令行接口用於 PHP 調試
簡介: 了解如何通過命令行調試 PHP 代碼,以及體驗 PHP 本身作為 shell 腳本語言的強大之處。
CLI PHP 的優點
多年以來,我一直都在應用不確定的工程師職責定義。我個人認為,工程師就是使用工具來實現與該工具最初開發目的無關的功能。雖然這種想法並不總是正確,但當您認真考慮它時,將發現大多數創新和發明確實來自於通過以前從未考慮過的方法使用工具。
想象一下我是多麼驚訝,然後,我忽然想到一個主意:使用我的老朋友 PHP,作為命令行工具,它對於 Web 頁面來說一直都非常可靠。我絕對不是這樣做的第一人,但是這對我來說的確是全新的想法。
當然,只是可以 在命令行中使用 PHP 當然不是這樣做的最佳理由。但是,您在第一次開始以這種方式用 PHP 進行試驗時可能很快就會發現幾個令人興奮的驚喜。首先,調試現有腳本將變得前所未有地簡單。由主要輸出和極少邏輯組成的 PHP 程序都將變得令人難以置信地簡單。除此之外,您還可以使用所有 PHP 知識來完成以前從未想過使用 PHP 完成的任務。事實上,確實沒有任何事能阻止您使用 PHP 作為幾乎所有給定編程項目的全能王。
產生興趣了?很好,讓我們開始著手並看看您可以在命令行中使用 PHP 來完成哪些任務。
安裝
安裝十分簡單扼要,它甚至可能都不需要特別安裝任何內容。開始時先在命令行中嘗試一個簡單的 PHP 腳本。您可以使用現有 PHP 腳本,也可以嘗試使用以下代碼。本例是基於 Linux® 的,但是類似的原理也適用於其他系統。
首先,確認 PHP 可執行文件的位置 —— 對於大多數 Linux 系統,幾乎肯定是 /usr/bin/php。如果不確定其位置,請在命令行中鍵入 which php
並查看響應內容。
其次,鍵入以下代碼,確保將 /usr/bin/php 替換為 PHP 可執行文件的實際路徑。
#!/usr/bin/php -q Hello world
保存文件並確保用可執行權限做了標記。在大多數系統中,您都可以用 chmod +x hello-world
或類似代碼完成此操作。然後,執行 PHP 文件(通過運行 ./hello-world
或者,如果有必要,運行 php hello-world
),並查看它是否運行。如果它運行,則安裝的 PHP 在默認情況下會包括命令行功能。
如果代碼未能正確運行,事情可能會變得有點兒麻煩。關於原因有很多種不同的可能性。如果您得到一個與 PHP 相關的錯誤(除了 “未找到程序” 之類的結果),則問題是代碼中的輸入錯誤。如果未找到 PHP 可執行文件,請確保您使用了正確的路徑。如果沒有名為 PHP 的可執行文件,則必須獲得一個。
獲得 PHP 可執行文件可能根據所在系統的不同采取不同的步驟,但是獲得所需支持不應當太難。您可以從查閱針對特定操作系統或發行版的文檔開始。
很明顯,如果這時系統中未安裝 PHP,則先安裝 PHP,然後再次嘗試執行以上代碼。對於許多系統,安裝 PHP 是您需要做的全部操作。如果需要執行更多操作,有時只需使用您最喜歡的包管理工具(例如 apt-get
或 yum
)獲得 PHP CLI 包(名稱可能略有不同)就可以解決此問題。
如果在 PHP 包管理工具中未能找到命令行,最糟糕的情況是您可以用 --enable-cli
標記重新編譯 PHP。事實上,這樣做的優點是提供了稍微優化了的系統並且不管怎麼說都不是個壞主意。無論采用哪種方式,開始使用它都不應當太難。
到現在,您應當已經運行了 HelloWorld 腳本,並且輸出就是可能已經猜測到的結果。我不會詳細說明該腳本的工作原理,但是使用過 shell 腳本和 PHP 的人應當十分熟悉腳本的大部分內容。由於這第一個腳本現在的運行沒有出現任何問題(我們希望如此!),因此我們將略微偏離真正的命令行接口 (CLI) 應用程序,看一看為什麼在命令行中使用 PHP 對於所有 PHP 程序員來說都是最佳選擇的好理由:調試。