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

yipeiwu_com6年前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使用pdo实现事务处理操作示例

本文实例讲述了PHP使用pdo实现事务处理操作。分享给大家供大家参考,具体如下: 使用事务的好处: 举个例子:银行用户A向用户B转账100元,这个操作被分为两个步骤: (1)A的账户余额...

轻松实现php文件上传功能

轻松实现php文件上传功能

PHP 文件上传 通过 PHP,可以把文件上传到服务器。 本章节实例在 test 项目下完成,目录结构为: test |-----upload   &...

PHP浮点比较大小的方法

本文实例讲述了PHP浮点比较大小的方法。分享给大家供大家参考,具体如下: <?php /** * 浮点数一般是不能用来比较大小的,但是我们可以用一种变通的的方式 *...

PHP中危险的file_put_contents函数详解

前言 最近在EIS上遇到一道文件上传的题,发现过滤了<,这样基本很多姿势都无效了,想了很久没做出来这题,赛后才知道是利用数组来绕过, 这里分析了下原理,话不多说了,来一起看看详细的...

php常用Output和ptions/Info函数集介绍

flush函数:刷新输出缓冲ob_clean函数:清空输出缓冲ob_end_clean函数:清空缓冲区并且关闭正在进行的输出缓冲ob_end_flush函数:发送缓冲区数据并且关闭缓冲区...