基本格式 :搞定了定时器,那么怎么通过命令来触发PHP脚本那?我目前知道两种方式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
(1):通过 php命令 + php脚本的方式来触发 ----我们在服务端安装php成功以后,就可以来直接使用php这个命令。但是这种方式,只能用来触发简单的脚本,如果我们来触发框架中某个控制器中具体的某个方法,使用这种方式肯定是不行的,因为框架一般都是以入口文件来进行分发的,我们直接执行对应的控制器脚本文件,肯定执行不通,那怎么办?这就用到了第二种触发方式。讲完了上面两点,我们就可以直接写一个完整的定时器来触发怕脚本程序了。
(2):通过Linux中的系统工具Curl + 服务地址的方式来触发----在默认情况下,Curl工具默认是安装好的。可以使用/usr/bin/curl 访问地址就可以直接进行访问了。例如下面:
curl http://127.0.0.1/index.php?g=admin&m=index&a=index复制代码尝试一下,你会发现,这样使用还是存在问题,看下面的问题:
我明明访问的是:https://www.baidu.com/s?ie=UTF-8&wd=crontab,但是最后实际访问的却是https://www.baidu.com/s?ie=UTF-8,也就是说&符号后面的参数不存在了,这是为什么那?这是因为&符号在linux命令行中是用来表示将进程放置在后台进行运行的"特殊参数",所以如果指定的url中含有&符号,就会被截断。为了不被截断,可以在&符号前面加"\"进行转义处理。也就是这样写,就没有问题了:https://www.baidu.com/s?ie=UTF-8\&wd=crontab
(3):针对耗时时间特别长的脚本,可以在脚本中加上以下代码,防治访问超时问题的发生
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |