从命令行运行PHP脚本

Sid*_*rth 70 php command-line

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

我有一个phpinfo.php文件可以从German安装的网络节目中访问.但是,如果我运行phpinfo.php从使用命令行- php phpinfo.phpgrepGerman,我并不觉得.所以两个phps都不同.我需要运行该脚本phpGerman安装.

我怎样才能做到这一点?

Sam*_*ala 140

更新:

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

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

您还可以检查来自Web服务器的输出php -r 'phpinfo();' | grep php并比较行phpinfo();.

php交互方式运行:

(所以你可以在控制台中粘贴/编写代码)

php -a
Run Code Online (Sandbox Code Playgroud)

要使其解析文件并输出到控制台:

php -f file.php
Run Code Online (Sandbox Code Playgroud)

解析文件并输出到另一个文件:

php -f file.php > results.html
Run Code Online (Sandbox Code Playgroud)

您还需要些别的吗?

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

php -r '$x = "Hello World"; echo "$x\n";'
Run Code Online (Sandbox Code Playgroud)

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

  • 不会.问题是系统上有多个phps.我需要找出用于解析Web脚本的php.如果我从控制台运行php,那么它找不到一个类 - 但是如果我从网络上调用该脚本那么那个问题就不存在了.所以这意味着使用的PHP是不同的,不是吗? (2认同)
  • @Siddharth您应该从您的服务器软件配置中检查。将您的服务器详细信息添加到问题中。 (2认同)
  • 是的。我该如何检查?简而言之,如何从命令行使用正确的 php? (2认同)
  • 在 linux 中,您可以使用 `which php` 来告诉您默认运行的是哪个可执行文件。要使用另一个可执行文件,您必须指定要使用的可执行文件的完整路径:`/path/to/specific/php -f file.php > results.html` (2认同)