从命令行运行PHP脚本

时间:2012-04-21 20:02:33

标签: php

如何使用用于解析Web脚本的PHP解释器从命令行运行PHP脚本?

我有一个phpinfo.php文件,可以从网页上查看安装了German。但是,如果我使用 - phpinfo.phpphp phpinfo.php使用grep从命令行运行German,我找不到它。所以两个phps都不同。我需要运行一个php安装German的脚本。

我该怎么做?

3 个答案:

答案 0 :(得分:120)

UPDATE:

在误解之后,我终于得到了你想要做的事情。 您应该检查您的服务器配置文件;你在使用apache2或其他服务器软件吗?

查找以LoadModule php开头的行... 可能有名为mods的配置文件/目录或类似的东西,从那里开始。

您还可以检查来自php -r 'phpinfo();' | grep php的输出,并将来自网络服务器的行与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

答案 1 :(得分:2)

在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文件中。

答案 2 :(得分:0)

我一直在寻找Windows中解决此问题的方法,似乎如果您没有vars好的环境,则需要放置完整的目录。例如。文件位于与PHP相同的目录中:

> F:\myfolder\php\php.exe -f F:\myfolder\php\script.php
相关问题