PHP 编程/PHP CLI
外观
< PHP 编程
(重定向自 PHP 编程/CLI)与普遍认知不同,PHP 不仅仅是一种 Web 服务器语言。PHP 也可用于创建常规程序。PHP 可用于创建 GUI 应用程序、Shell 脚本,甚至守护进程等等。
好处是,所有(或大多数)常用的 PHP 库也适用于你的 PHP CLI 程序。MySQL、XML 等,都(或大部分)可用。
以下是一个示例 PHP-CLI 程序
<?php print('Hello World'); ?>
如果我们将其保存为 "helloworld.php",那么我们可以通过以下命令运行此 PHP CLI 程序
php helloworld.php
这将生成以下输出
Hello World
服务器端PHP 和 PHP CLI 之间存在一些重要区别。以下是它们的列表
- 没有
$_GET
超级全局数组。 - 没有
$_POST
超级全局数组。 - 没有
$_COOKIE
超级全局数组。 - 当执行打印时,输出将转到标准输出,而不是 Web 浏览器。
- 你可以通过
$argv
变量获取命令行参数。 - 你可以通过
$argc
变量获取命令行参数的数量。
与许多程序一样,需要访问用于调用程序的命令行变量。在 PHP 中,我们有两个变量可以做到这一点
在 php.ini 文件中使用 register_globals = on;
时,可以使用
$argv
$argc
在 php.ini 文件中使用 register_globals = off;
时,可以使用
$_SERVER['argv']
$_SERVER['argc']
(对于熟悉 Bash、C 或 C++ 编程语言的人来说,他们会发现这对变量非常熟悉)
以下程序使用了 $argc
和 $argv
变量
<?php
print('ARGC = ' . $argc ."\n\n");
foreach ($argv as $k=>$v) {
print("ARGV[$k] = $v\n");
}
?>
<?php
print('ARGC = ' . $_SERVER['argc'] ."\n\n");
foreach ($_SERVER['argv'] as $k => $v) {
print("ARGV[$k] = $v\n");
}
?>
如果我们将此 PHP 程序保存为 "test1.php",并使用以下命令运行它
php test1.php apple orange banana pineapple
那么我们将得到
ARGC = 5 ARGV[0] = test1.php ARGV[1] = apple ARGV[2] = orange ARGV[3] = banana ARGV[4] = pineapple
(请注意,与 Bash、C 和 C++ 程序一样,$argv
的第一个元素是程序的名称。)