crontab无法执行php的解决方法


Posted in PHP onJanuary 25, 2016

本文分析了crontab无法执行php的解决方法。分享给大家供大家参考,具体如下:

用crontab跑php程序时,如何去调试,各人有各人的方法。我也有套方法,看一下,我是如何解决crontab执行不了php程序这个问题的。

一、php文件有没有执行权限

[root@linux cron]# ls -al |grep del

 -rwxr-xr-x  1 zwh  ftpgroup  494 10-20 16:42 del_redis.php 
如果没有X,说明没有执行权限,当然也执行不了。如果你不知道你登录的用户所在的组是不是有权限,直接给所有组都加上权限就行了。方法如下:

[root@linux cron]# chmod +x ./del_redis.php

二、如果有执行权限了,还是执行不了

解决方法如下

1. 在php程序里面写log(例如:error_log()这个函数),这也是必须的,因为crontab定时执行,要是没有log,你怎么知道程序执行的结果怎么样。这样我们可以通过log来查看crontab执行的情况。

2. 也可以直接在crontab里面,将执行的结果输出一个文件当中。然后在这个文件当中查看执行情况。例如:

*/10 * * * * /usr/local/php/bin/php /var/www/cron/del_redis.php >> /home/zhangy/cron.txt

3. 用crontab来执行php,是不走apache,nginx,所以$_SERVER,$_ENV这类变量根本用不了。所以检查一下php代码中有没有这类变量,如果有拿掉。

4. php的相对路径问题

因为有思维定势在做怪,这个问题也是最容易忽视的。

include_once'./mysql.php';

当php代码中,用的是相对路径时,只有进入到那个目录下执行/usr/local/php/bin/php /var/www/cron/level_rank.php才能生效。这个问题我遇到过至少二次,但是再遇到时还是想不起来。

解决方法如下:

*/10 * * * * cd /var/www/cron && /usr/local/php/bin/php /var/www/cron/level_rank.php

或者 在php代码中用绝对路径

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
完美实现GIF动画缩略图的php代码
Jan 02 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
PHP PDO操作MySQL基础教程
Jun 05 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
win7安装php框架Yii的方法
Jan 25 #PHP
php结合md5实现的加密解密方法
Jan 25 #PHP
PHP几个实用自定义函数小结
Jan 25 #PHP
php代码架构的八点注意事项
Jan 25 #PHP
详解js异步文件加载器
Jan 24 #PHP
PHP导出Excel实例讲解
Jan 24 #PHP
PHP验证码生成原理和实现
Jan 24 #PHP
You might like
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
php实现网页端验证码功能
2017/07/11 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
数据库方面面试题
2012/04/22 面试题
渔夫的故事教学反思
2014/02/14 职场文书
大学生新学期计划书
2014/04/28 职场文书
经典团队口号大全
2014/06/21 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
绿色小区申报材料
2014/08/22 职场文书
校长师德表现自我评价
2015/03/05 职场文书
校园新闻稿范文
2015/07/18 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server