簡體   English   中英

從命令行運行PHP腳本

[英]Running PHP script from the command line

如何使用用於解析Web腳本的PHP解釋器從命令行運行PHP腳本?

我有一個phpinfo.php文件,可以從Web上訪問,顯示安裝了German 但是,如果我運行phpinfo.php使用命令行- php phpinfo.phpgrepGerman ,我並不覺得。 所以兩個phps都不同。 我需要運行一個安裝了Germanphp腳本。

我怎樣才能做到這一點?

更新:

在誤解之后,我終於得到了你想要做的事情。 您應該檢查您的服務器配置文件; 你在使用apache2或其他服務器軟件嗎?

查找以LoadModule php開頭的行...可能有配置文件/目錄名為mods或類似的東西,從那里開始。

您還可以檢查php -r 'phpinfo();' | grep php php -r 'phpinfo();' | grep php php -r 'phpinfo();' | grep php並將行與phpinfo();進行比較phpinfo(); 來自網絡服務器。

以交互方式運行php

(所以你可以在控制台中粘貼/編寫代碼)

php -a

要使其解析文件並輸出到控制台:

php -f file.php

解析文件並輸出到另一個文件:

php -f file.php > results.html

您還需要些別的嗎?

要只運行一小部分,一行或類似,您可以使用:

php -r '$x = "Hello World"; echo "$x\n";'

如果你正在運行linux,那么在控制台上做man php

在SuSE上,PHP有兩種不同的配置文件:一種用於Apache,另一種用於CLI(命令行界面)。 在/ etc / php5 /目錄中,您將找到“apache2”目錄和“cli”目錄。 每個都有一個“php.ini”文件。 這些文件用於相同的目的(php配置),但適用於運行PHP的兩種不同方式。 除其他外,這些文件加載​​PHP使用的模塊。

如果您的操作系統類似,那么這兩個文件可能不一樣。 您的Apache php.ini可能正在加載gearman模塊,而cli php.ini則不是。 安裝模塊(自動或手動)時,它可能只更新了Apache php.ini文件。

您可以簡單地將Apache php.ini文件復制到cli目錄中,以使CLI環境與Apache環境完全相同。

或者,您可以找到在Apache文件中加載gearman模塊的行,並將其復制/粘貼到CLI文件中。

我在Windows中尋找解決此問題的方法,似乎如果你沒有環境vars ok,你需要放置完整的目錄。 例如。 與PHP目錄相同的文件:

F:\myfolder\php\php.exe -f F:\myfolder\php\script.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM