从命令行运行 PHP 脚本
如何使用用于解析 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?
我有一个从网络访问的 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.
我该怎么做?
推荐答案
您应该检查您的服务器配置文件.查找以 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 服务器的 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
你还需要什么吗?
要仅运行一小部分、一行或类似的内容,您可以使用:
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,则在控制台执行 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.
相关文章