php命令行模式(cli)的使用(总结)

HP-CLI模式的优势及使用场合:
1.完全支持多线程 (php本身是单线程脚本语言)
php_cli是php多线程应用,虽然大家都普遍认为php没有多线程(curl属于模拟多线程而不是真实的),但是在php_cli模式下的php彻底的是属于多线程。这个时候php属于linux的一个守护进程(主进程)。php_cli模式下执行php很快,如采集。
2.可以实现定时任务 (crontab+cli)
3.开发桌面应用就是使用PHP-CLI和GTK包
4.linux下用php编写shell脚本
注:windows下,可以自己将php添加到环境变量玩玩,了解即可,用的不是很多

了解php cli的2个特殊变量
PHP CLI带有两个特殊的变量,专门用来达到这个目的:一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素;另一个是$ argc变量,它用来保存$argv数组里元素的个数。
你可以运行:
php命令行模式(cli)的使用(总结)

使用PHP CLI传递脚本参数的形式:
-a 交互式运行Run interactively
-c path 从path读取php的.ini文件
-n 不用读取php的.ini文件就直接运行
-m 列出经过编译的模块
-i 显示有关PHP构建的信息
-l 检查PHP脚本的句法
-s 以彩色方式显示源代码
-w 显示去掉注释之后的源代码
-h 显示帮助

命令行中诸如$_SESSION之类的服务器变量是无法在命令行中使用的,其他代码的运行则和web服务器中完全一样^_^。

参考资料:
http://www.jb51.net/article/37796.htm
http://php.net/manual/zh/features.commandline.php
http://www.cnphp.info/php-command-line-useage-intro.html

【2017.5.16】
用php -r 最快的执行PHP脚本方法,我们没有用linux系统,可以直接使用git bash运行!
php命令行模式(cli)的使用(总结)

2017.7.7 linux下使用BASH运行php

1
2
3
4
#!/alidata/server/php/bin/php
<?php
var_dump($argv);
?>

php命令行模式(cli)的使用(总结)
BO:需要将php变为可执行文件。777