PHP 命令行?是的,您可以!

PHP 命令行?是的,您可以!将 PHP 用于一般目的的脚本并将命令行接口用于 PHP 调试

简介: 了解如何通过命令行调试 PHP 代码,以及体验 PHP 本身作为 shell 脚本语言的强大之处。

CLI PHP 的优点

多年以来,我一直都在应用不确定的工程师职责定义。我个人认为,工程师就是使用工具来实现与该工具最初开发目的无关的功能。虽然这种想法并不总是正确,但当您认真考虑它时,将发现大多数创新和发明确实来自于通过以前从未考虑过的方法使用工具。

想象一下我是多么惊讶,然后,我忽然想到一个主意:使用我的老朋友 PHP,作为命令行工具,它对于 Web 页面来说一直都非常可靠。我绝对不是这样做的第一人,但是这对我来说的确是全新的想法。

当然,只是可以 在命令行中使用 PHP 当然不是这样做的最佳理由。但是,您在第一次开始以这种方式用 PHP 进行试验时可能很快就会发现几个令人兴奋的惊喜。首先,调试现有脚本将变得前所未有地简单。由主要输出和极少逻辑组成的 PHP 程序都将变得令人难以置信地简单。除此之外,您还可以使用所有 PHP 知识来完成以前从未想过使用 PHP 完成的任务。事实上,确实没有任何事能阻止您使用 PHP 作为几乎所有给定编程项目的全能王。

产生兴趣了?很好,让我们开始着手并看看您可以在命令行中使用 PHP 来完成哪些任务。

安装 

安装十分简单扼要,它甚至可能都不需要特别安装任何内容。开始时先在命令行中尝试一个简单的 PHP 脚本。您可以使用现有 PHP 脚本,也可以尝试使用以下代码。本例是基于 Linux® 的,但是类似的原理也适用于其他系统。

 

首先,确认 PHP 可执行文件的位置 —— 对于大多数 Linux 系统,几乎肯定是 /usr/bin/php。如果不确定其位置,请在命令行中键入 which php 并查看响应内容。

 

其次,键入以下代码,确保将 /usr/bin/php 替换为 PHP 可执行文件的实际路径。

 

#!/usr/bin/php -q
Hello world

 

保存文件并确保用可执行权限做了标记。在大多数系统中,您都可以用 chmod +x hello-world 或类似代码完成此操作。然后,执行 PHP 文件(通过运行 ./hello-world 或者,如果有必要,运行 php hello-world),并查看它是否运行。如果它运行,则安装的 PHP 在默认情况下会包括命令行功能。

 

如果代码未能正确运行,事情可能会变得有点儿麻烦。关于原因有很多种不同的可能性。如果您得到一个与 PHP 相关的错误(除了 “未找到程序” 之类的结果),则问题是代码中的输入错误。如果未找到 PHP 可执行文件,请确保您使用了正确的路径。如果没有名为 PHP 的可执行文件,则必须获得一个。

 

获得 PHP 可执行文件可能根据所在系统的不同采取不同的步骤,但是获得所需支持不应当太难。您可以从查阅针对特定操作系统或发行版的文档开始。

 

很明显,如果这时系统中未安装 PHP,则先安装 PHP,然后再次尝试执行以上代码。对于许多系统,安装 PHP 是您需要做的全部操作。如果需要执行更多操作,有时只需使用您最喜欢的包管理工具(例如 apt-getyum)获得 PHP CLI 包(名称可能略有不同)就可以解决此问题。

 

如果在 PHP 包管理工具中未能找到命令行,最糟糕的情况是您可以用 --enable-cli 标记重新编译 PHP。事实上,这样做的优点是提供了稍微优化了的系统并且不管怎么说都不是个坏主意。无论采用哪种方式,开始使用它都不应当太难。

 

到现在,您应当已经运行了 HelloWorld 脚本,并且输出就是可能已经猜测到的结果。我不会详细说明该脚本的工作原理,但是使用过 shell 脚本和 PHP 的人应当十分熟悉脚本的大部分内容。由于这第一个脚本现在的运行没有出现任何问题(我们希望如此!),因此我们将略微偏离真正的命令行接口 (CLI) 应用程序,看一看为什么在命令行中使用 PHP 对于所有 PHP 程序员来说都是最佳选择的好理由:调试。

相关推荐