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 iconv() : Detected an illegal character in input string
Dec 05 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
php强制下载文件函数
Aug 24 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP赋值的内部是如何跑的详解
Jan 13 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/11/29 PHP
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
python 合并文件的具体实例
2013/08/08 Python
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python 读写文件的操作代码
2018/09/20 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
Python中有几个关键字
2020/06/04 Python
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
职业生涯规划怎么写
2013/12/29 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
司机职责范本
2014/03/08 职场文书
2014年师德承诺书
2014/05/23 职场文书
个人承诺书怎么写
2014/05/24 职场文书
个人委托书
2014/07/31 职场文书
写给导师的自荐信
2015/03/06 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers