答新手问:为什么在linux下定时PHP计划任务不能成功的“误区”

答新手问:为什么在linux下定时php计划任务不能成功的误区 。

一个朋友在看了我的文章:linux使用crontab实现PHP执行定时任务 后告诉我,他的计划任务不能成功,不能生成缓存。

一般我们linux定时执行php代码例如:


*/5 * * * * /usr/local/php/bin/php  /home/wwwroot/1.php
其实这样是可以执行php代码的。


但是一个问我的朋友就问我,为什么在1.php写的生成一个缓存文件没有生成呢??

这个要涉及到crontab执行php的相对路径问题.

注意在执行文件中,有包含文件的,如:
include_once'./mysql.php';  
当php代码中,用的是相对路径时,只有进入到那个目录下,

然后执行/usr/local/php/bin/php /home/wwwroot/1.php 才能引用mysql.php生效。

解决方法如下:

*/10 * * * * cd /home/wwwroot && /usr/local/php/bin/php /home/wwwroot/1.php  

同时也这样缓存才能生成在 /home/wwwroot。注意哦!!!!

这是大部分写的所谓linux定时执行php没有提到的,也最容易产生误区的。


当然方法还有很多,还可以设置环境变量之类的。这个只是一个简单的方法。


关键词: linux定时 , php计划任务

上一篇: MySQL 5.5.*默认innodb存储引擎导致占用虚拟内存过高的解决办法
下一篇: 百度站长平台Sitemap 实时推送PHP代码

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):