程序员人生 网站导航

yii crontab 命令使用 经测试

栏目:htmlcss时间:2014-12-18 08:58:08

今天要用到crontab 项目是用的yii框架  因而乎 上网查了下看看怎样用 结果得到了很多提示 也被坑的好惨, 最后还是自己研究下然后实现了, 所以写此文以便解救迷雾中的道友


Yii的文件结构里呢 有个文件夹commands 若没有的话 自己建1个 看好目录的位置 和名字不要写错


Yii框架呢 他的公外部调用的命令都是放在这个文件夹下的 它的调用时靠protected/yiic.php 来做入口文件的

配置yiic代码


画红框的地方是需要注意的

可以看到 我在代码中注释掉了AB区域这个地方使用的是相对路径 2C区域呢使用的是绝对路径为何这么写呢,我们继续往下看

在commands文件下建1个文件 TestCommand.php代码以下

class TestCommand extends CConsoleCommand { public function run($args) { echo '测试command'; } }

然后呢我们在linux运行下这个脚本看看可以不

[root@S1 protected]# /usr/local/php/bin/php yiic.php Test >> commands/t.log

我解释下这行代码:首先进图到项目的protected文件夹下, /usr/local/php/bin/php这1段是你的php可履行文件的位置就相当于window下的那个php安装目录的php.exe文件位置 yiic.php这个入口文件  Test就是我们刚刚建的那个命令文件    >> commands/t.log 这1段的意思是吧结果输入到这个t.log文件里

这个时候能 若你yiic.php里的文件用的是相对路径的话可能会出现包括文件不存在的毛病,解决方法,第1你把那个路径输入到log文件里看下 路径对不对然后自己改对,还有1种就是用绝对路径,但是要注意绝对路径虽然省事但是1旦换了环境 可能会由于目录结构有些差异致使包括文件找不到。

在这个地方还可能抱1个毛病,就是yiic.php是不允许访问的错 你可以通过修改yiic的权限解决,至于怎样把这航命令放在crontab让系统自己定时跑 自己去Google吧,欢迎指出文档毛病内容,我会及时修改,1起学习研究。


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐