从命令行运行PHP脚本
我怎样才能使用php解释器来parsing网页脚本,从命令行运行一个php脚本。
更多详情 –
我有一个phpinfo.php
文件,如果从网上访问显示, gearman
安装。 但是,如果我使用php phpinfo.php
和grep
for gearman
从命令行运行phpinfo.php
,我不会find它。 所以两个phps是不同的。 我需要运行一个脚本,其中安装了哪个gearman
。
我怎样才能做到这一点?
更新:
误解之后,我终于得到了你正在做的事情。 你应该检查你的服务器configuration文件; 你使用apache2或其他服务器软件?
查找以LoadModule php
开头的行…可能有configuration文件/目录名为mods
或类似的东西,从那里开始。
你也可以检查php -r 'phpinfo();' | grep php
php -r 'phpinfo();' | grep php
php -r 'phpinfo();' | grep php
和比较线phpinfo();
从networking服务器。
以交互方式运行php
:
(所以你可以在控制台上粘贴/写入代码)
php -a
为了使它parsing文件并输出到控制台:
php -f file.php
parsing文件并输出到另一个文件:
php -f file.php > reults.html
你还需要别的吗?
要运行只有一小部分,一行或类似,您可以使用:
php -r '$x = "Hello World"; echo "$x\n";'
如果你正在运行linux,那么在控制台上执行man php
。
(我知道这是一个老问题)
在SuSE上,PHP有两个不同的configuration文件:一个用于Apache,一个用于CLI(命令行界面)。 在/ etc / php5 /目录下,你会发现一个“apache2”目录和一个“cli”目录。 每个都有一个“php.ini”文件。 这些文件是为了相同的目的(PHPconfiguration),但适用于运行PHP的两种不同的方式。 这些文件加载了PHP使用的模块。
如果你的操作系统类似,那么这两个文件可能不一样。 你的Apache的php.ini可能是加载的gearman模块,而cli php.ini不是。 当模块安装(自动或手动),它可能只是更新Apache的php.ini文件。
您可以简单地将Apache php.ini文件复制到cli目录中,使CLI环境与Apache环境完全相同。
或者,您可以在Apache文件中find加载gearman模块的行,并将其复制/粘贴到CLI文件中。