1、PHP的CLI模式是什么?

全称:Command Line Interface(命令行接口),可在命令行下执行PHP程序

 

2、有什么用?

2.1 window在命令行下运行php 程序

2.2 linux使用crontab实现定时任务

2.3 未完待续

 

3、怎么用?

3.1 执行

3.1.1 直接执行php代码

  • php -r 'echo "Hello PHP-cli".PHP_EOL;'

3.1.2 执行php文件(常用)

  • php -f  xxx.php
  • php xxx.php(需在脚本首行添加php解析程序路径,如:#!C:\php\php.exe -q)

 

3.2 常用命令

3.3 linux使用crontab实现定时任务

3.3.1 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

3.3.2 crontab常用命令

查看某用户的所有定时任务:crontab -l -u XXX  (如有没有会提示 no crontab for XXX)

 

编辑任务:crontab -e

例:*/30 * * * *  /alidata/server/php-5.5.7/bin/php -f /web/www/main/2017/jm/sql.php >> /web/www/main/2017/jm/crontablog/$(date +\%Y\%m\%d)logs.log

/* * * * */参数解析:minute(1-59)

hour(0-23)

day of month(1-31)

month(1-12)  OR jan,feb,mar,apr ...

day of week0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

删除任务:crontab -r

 

3.4 使用TP3.2框架

新建一个入口文件命名cli.php 内容跟index.php不变,增加代码定义当前入口文件调用使用命令行模式define(‘APP_MODE’,'cli');

对APP的路径定义,还有框架引入的路径,从相对路径改成绝对路径,如:define('APP_PATH',dirname(__FILE__).'/Application/');

在路径 /ThinkPHP/Mode 下面有个文件,名字叫做common.php ,复制一份出来,命名为cli.php,然后把里面引入日志类的代码注释或者删除掉:即干掉 'Think\Log' => CORE_PATH . ‘Log'.EXT,

欢迎留言