linux下使用crontab实现定时PHP计划任务失败的原因分析

yipeiwu_com5年前PHP代码库

很多人在linux下使用crontab实现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没有提到的,也最容易产生误区的。

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

相关文章

PHP实现websocket通信的方法示例

本文实例讲述了PHP实现websocket通信的方法。分享给大家供大家参考,具体如下: 执行方法: 首先先修改server.php与index.html的ip 通过命令行执行 [php路...

PHP里的中文变量说明

PHP里的中文变量说明

PHP的一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\...

中国站长站 For Dede4.0 采集规则

转载请注明出自落伍im286.com,本贴地址:http://www.im286.com/viewthread.php?tid=1991813 只差两分就落伍了,特献出中国站长站&nbs...

SESSION存放在数据库用法实例

本文实例讲述了SESSION存放在数据库用法。分享给大家供大家参考。具体如下: <?php /* CREATE TABLE `ws_sessions` ( `sess...

解析php时间戳与日期的转换

大家也许对PHP时间戳已经有所了解,那么我们如何应用它来获取具体的日期呢?我们今天来为大家介绍一下PHP时间戳获取当前时期的具体方式。 实现功能:获取某个日期的时间戳,或获取某个时间...