問題描述
如何使用用于解析 Web 腳本的 PHP 解釋器從命令行運行 PHP 腳本?
How can I run a PHP script from the command line using the PHP interpreter which is used to parse web scripts?
我有一個從網(wǎng)絡(luò)訪問的 phpinfo.php
文件顯示安裝了 German
.但是,如果我從命令行運行 phpinfo.php
使用 - php phpinfo.php
和 grep
for German
>,沒找到.所以這兩個 PHP 文件是不同的.我需要運行一個腳本,其中安裝了 German
的 php
.
I have a phpinfo.php
file which is accessed from the web shows that German
is installed. However, if I run the phpinfo.php
from the command line using - php phpinfo.php
and grep
for German
, I don't find it. So both PHP files are different. I need to run a script which the php
on which German
is installed.
我該怎么做?
推薦答案
您應(yīng)該檢查您的服務(wù)器配置文件.查找以 LoadModule php
開頭的行...可能有名為 mods
或類似名稱的配置文件/目錄.從那里開始.
You should check your server configuration files. Look for lines that start with LoadModule php
...
There probably are configuration files/directories named mods
or something like that. Start from there.
您還可以檢查 php -r 'phpinfo();' 的輸出|grep php
并將行與來自 Web 服務(wù)器的 phpinfo();
進行比較.
You could also check output from php -r 'phpinfo();' | grep php
and compare lines to phpinfo();
from web server.
(因此您可以在控制臺中粘貼/編寫代碼.)
(So you can paste/write code in the console.)
php -a
讓它解析文件并輸出到控制臺:
php -f file.php
解析一個文件并輸出到另一個文件:
php -f file.php > results.html
你還需要什么嗎?
要僅運行一小部分、一行或類似的內(nèi)容,您可以使用:
Do you need something else?
To run only a small part, one line or like, you can use:
php -r '$x = "Hello World"; echo "$x
";'
如果您運行的是 Linux,則在控制臺執(zhí)行 man php
.
If you are running Linux then do man php
at the console.
如果您需要/想要通過 fpm 運行 PHP(FastCGI Process Manager), 使用 cli fcgi:
If you need/want to run PHP through fpm (FastCGI Process Manager), use cli fcgi:
SCRIPT_NAME="file.php" SCRIP_FILENAME="file.php" REQUEST_METHOD="GET" cgi-fcgi -bind -connect "/var/run/php-fpm/php-fpm.sock"
其中 /var/run/php-fpm/php-fpm.sock 是您的 php-fpm 套接字文件.
Where /var/run/php-fpm/php-fpm.sock is your php-fpm socket file.
這篇關(guān)于從命令行運行 PHP 腳本的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!