2015-04-20 60 views
0

我試過閱讀並理解PHP控制檯是一個命令行界面(CLI),如composer中使用的那樣。我不明白網頁腳本和控制檯腳本之間的區別。我沒有看到使用這兩個。PHP控制檯腳本和網絡腳本之間有什麼區別?

我想抓取某個鏈接的數據。我應該使用控制檯腳本還是Web腳本?爲什麼?

請用最簡單的方式解釋。

回答

-1

那麼,基本上一個控制檯腳本是你的任務的方式。

的區別在於以下事實:一個Webscript將阻止您的瀏覽器,不會顯示你的進展實時等

我能夠抓取和我心愛的動漫與控制檯腳本下載約6000圖像,顯示進度狀態,使用Web腳本更難以瀏覽器緩存輸出。你也可以鏈接你的腳本,也可以做一些cron魔術(假設你在nix盒子上)

+0

投票沒有任何解釋,老人開發者的「智慧」可能是什麼? –

0

網頁和CLI實例之間的一個區別是腳本執行的方式:網頁將通過web容器加載,而CLI通常將通過用於啓動PHP的shell執行。由於這一點,CLI可能無法訪問所有$ _SERVER變量,因爲實際上沒有涉及HTTP請求。

CLI腳本可用於執行非Web服務器啓動的後臺任務,例如定期清理數據庫的cron作業,以及執行排隊作業的後臺任務。把CLI看作shell腳本,你可以寫一個PHP腳本而不是bash腳本。

PHP解釋器在這兩種情況下都是相同的,並且由您決定哪一個最適合您的需求:網頁更常見,但是如果您需要讓服務器在不等待Web請求的情況下執行一些工作,你可以使用CLI。

0

這兩者之間沒有區別。在大多數情況下,無論您是從命令行還是通過Web執行它,相同的PHP腳本都將運行。

然而,腳本將在其內執行的環境有所不同。 CLI腳本從您的計算機上的shell啓動並在其中執行。它非常獨立。另一方面,web腳本(通常)是通過來自瀏覽器的HTTP請求啓動的,通過Web傳遞到Web服務器,在該遠程服務器上執行,結果(通常是網頁)被傳遞迴你的瀏覽器。在後一種情況下,與腳本提供的Web請求相關的特殊環境變量。

想知道哪些是您的網絡爬蟲程序腳本的最佳情況而不知道更多細節有點困難。但我會說一個命令行腳本就是你所追求的。

相關問題