首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》24.7 在命令行中使用PHP

关灯直达底部

通常,我们可以编写或下载许多小程序,并且在命令行下运行它们。在UNIX系统中,这些程序通常都是用shell脚本语言或Perl编写的。在Windows平台上,它们通常都是一个批处理文件。

对于一个Web应用程序,我们可能会首选PHP,但是使其成为一个优秀的Web语言的相同文本处理工具是它的命令行工具程序。

在命令行下,有3种方法来执行PHP脚本:通过一个文件、管道或直接在命令行下。

要在一个文件中执行PHP,请确认PHP可执行文件(php或php.exe,取决于操作系统)位于路径下,并且以脚本名称作为参数调用它。如下所示示例:

php myscript.php

myscript.php文件只是一个常规的PHP文件,因此它包含了任何常规的PHP语法和PHP标记。

要通过管道传递代码,可以运行任何能够生成有效的PHP脚本的程序,并且以该程序作为输出,导出到php可执行文件。如下示例使用了echo程序给出了一个单行的程序:

echo'<?php for($i=1;$i<10;$i++)echo$i;?>'|php

需要再次指出的是,以上的PHP代码封闭在PHP标记中(<?php和?>)。还需要注意的是,这是命令行程序,不是PHP的语言结构。

单行程序的特性使得该程序很容易在命令行下直接传递,如下例所示:

php-r'for($i=1;$i<10;$i++)echo$i;'

这里,情况有所不同。在这个字符串中传递的PHP代码并没有封闭在PHP标记中。如果将该字符串封闭在PHP标记中,将遇到一个语法错误。

为命令行使用而编写的PHP程序是不受限制的。我们可以为PHP应用程序编写安装程序。可以在将文本文件导入到数据库之前使用一个脚本来重新格式化这个文本文件。甚至还可以编写一个能够执行任何需要重复的任务,而这些任务需要在命令行下执行;一个很好的例子就是,可以编写一个PHP脚本,在开发用途的Web服务器中将所有PHP文件、图像和MySQL表格结构复制到产品服务器中。