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 相关文章推荐
php mssql 日期出现中文字符的解决方法
Mar 10 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php获取错误信息的方法
Jul 17 PHP
PHP的几个常用加密函数
Feb 03 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
PHP实现的操作数组类库定义与用法示例
May 24 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
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP类的特性实例分析
2016/09/28 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
js实现电灯开关效果
2021/01/19 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python实现求最长回文子串长度
2018/01/22 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Python列表元素常见操作简单示例
2019/10/25 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
会计专业的自荐信
2013/12/12 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
不同意离婚答辩状
2015/05/22 职场文书
大学生十八大感想
2015/08/11 职场文书
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android