首页 > 代码库 > PHP CLI模式介绍及使用教程

PHP CLI模式介绍及使用教程

看看全称就知道了,php-cli是php Command Line Interface的简称,即PHP命令行接口,在windows和linux下都是支持PHP-CLI模式的,其实这两者,我以前都写过文章:

一、window在命令行下运行php 程序 
二、linux使用crontab实现定时任务 
PHP-CLI模式的优势及使用场合:

  • 1.完全支持多线程
  • 2.如上,可以实现定时任务
  • 3.开发桌面应用就是使用PHP-CLI和GTK包
  • 4.linux下用php编写shell脚本


其实PHP的运行环境远远不止apache和cli的,哈哈,如aolserver, apache, apache2filter, apache2handler, caudium, cgi (until PHP 5.3), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux, and webjames.

 你可以用php_sapi_name()去检测的,不信,看下面这段代码:


  1. <?php
  2. /** 转载请注明链接:http://www.phpddt.com */
  3. echo php_sapi_name();

我在浏览器上运行结果:
技术分享我在windows的cmd上运行:
技术分享使用标准的输入输出:

STDIN  标准输入设备

STDOUT 标准输出设备

STDERR 标准错误设备

看看运行下面这段程序的结果就知道了:


  1. <?php
  2. // ask for input
  3. fwrite(STDOUT, "Enter your name: ");
  4.  
  5. // get input
  6. $name = trim(fgets(STDIN));
  7.  
  8. // write input back
  9. fwrite(STDOUT, "Hello, $name!");

运行截图:
技术分享使用命令行自变量:
PHP CLI带有两个特殊的变量,专门用来达到这个目的:一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素;另一个是$ argc变量,它用来保存$argv数组里元素的个数。
你可以运行:


  1. <?php
  2. /**
  3. *@link http://www.phpddt.com
  4. */
  5. print_r($argv);

看结果:
技术分享使用PHP CLI传递脚本参数的形式:
请看参数:


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



技术分享
至此,我对PHP CLI有了一定的认识了,如果读者想要了解更多,请参考官方手册:http://php.net/manual/zh/features.commandline.php

转载: http://www.phpddt.com/php/php-cli.html 尊重他人劳动成果就是尊重自己!

PHP CLI模式介绍及使用教程