從命令列執行 PHP 腳本時,經常需要傳入變數。但是,嘗試使用傳統的 $_GET 方法(例如 php myfile.php?type=daily)來實現此目的可能會導致「無法開啟輸入檔案」錯誤。
這是因為 $_GET 陣列通常僅當腳本作為網頁執行時才可存取。要處理從命令列傳遞的變量,必須使用替代方法。
從命令列執行 PHP 腳本時,可以使用 $argv 傳遞變數大量。此陣列包含腳本名稱後提供的參數。例如,要傳遞type=daily 變量,您可以如下呼叫腳本:
在PHP 腳本中,您可以使用$argv[1].
處理Web和命令列執行如果PHP 腳本既用於Web 又用於命令列執行,您可以使用STDIN 常數檢查是否從命令列呼叫該腳本。以下程式碼片段說明了這一點:在此範例中,如果從命令列執行腳本,將從 $argv[1] 檢索類型變數。否則,將從 $_GET['type'] 中檢索。 使用 Shell 腳本和 Wget從命令列傳遞變數的另一個選項是使用 shell 腳本和 Wget 。如果您需要將變數作為 URL 的一部分傳遞,這會很有用。以下 shell 腳本示範了這種方法:在此腳本中,變數 type=daily 作為 URL 的一部分傳遞。然後可以從 cron 呼叫該腳本以使用指定變數執行 PHP 腳本。以上是如何從命令列將變數傳遞給 PHP 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!