PHP 最常用的用途就是用来编写 Web 程序,这也是 PHP 语言编写的初衷。
但是 PHP 不是仅仅只能做这些。最近有人已经在把 PHP 移植到 Android 手机 OS 平台,打算用它开发手机 APP。而 Android 应用
程序就是典型的手机桌面应用程序(而不是常见的 Web 应用)。
其实,无论是在 Linux 下,还是在 Windows 下,都可以通过 PHP 的可执行文件来执行 PHP 脚本(PHP Script),而 PHP 脚本
程序由于是在 Shell(Windows 的 DOS 环境也是一种 Shell)环境下执行,所以它就可以运行 PHP 的 CLI 函数和语句,从而可以
维护数据库甚至 OS 系统。-- 类似的维护 OS 的代码我见过 Python 写的一些脚本。
要在 OS 的 Shell 环境下执行 PHP 脚本,需要把 PHP 可执行文件加到系统 path 路径中。PHP-CLI 脚本可以手动执行,命令格式为:
php script.php
在 Linux 下,也可以以 ./script.php 的形式来执行,就像 Linux 可执行脚本一样。但这需要在脚本最前边加上 php 可执行文件的路径,例如:
#!/usr/bin/php
<?php
include('...');
echo '...';
?>
有些函数和语句是特为 PHP-CLI 脚本设计的,比如:
向命令行输出:fwrite(STDOUT, 'Inpot Username:');
等待命令行输入:$name = fgets(STDIN); //程序暂停在这里,等待输入
当然这里的 fwrite() 函数的作用类似于 echo() 和 print() 函数了。
而这些 PHP-CLI 脚本完全可以加到 linux 的 cron 定时服务里,在设定的时间点执行。Windows 下加在计划任务里。这样就可以定时执行这些脚本,特别是例行的系统或数据库维护,都可以用 PHP 的命令行脚本来做。
由于 PHP-CLI 的最大执行时间是没有限制的(the maximum execution time is unlimited for CLI scripts),不像 Web 脚本默认最多只能执行30秒,所以用 PHP-CLI 脚本来维护系统是很合适的。
一个 PHP-CLI 脚本的例子:
<?php
echo "Hello! PHP Command line!/n";
echo 'php_sapi_name: '. php_sapi_name() ."/n";
echo getcwd() ."/n"; //取得当前脚本路径
fwrite(STDOUT, 'Inpot Username:');
$name = fgets(STDIN);
echo "Hello, " . trim($name). "! The time is currently ". date("r") . "/n";
die;
?>
作者:张庆(网眼) 西安 PHP 教育培训中心 2010-7-19
来自“网眼视界”:http://blog.why100000.com
作者微博:http://t.qq.com/zhangking
“十万个为什么”电脑学习网:http://www.why100000.com