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 相关文章推荐
基于mysql的bbs设计(三)
Oct 09 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
PHP socket 模拟POST 请求实例代码
Jul 18 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 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后台程序与Javascript的两种交互方式
2009/10/25 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
教育专业个人求职信
2013/12/02 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
教师党员承诺书2015
2015/01/21 职场文书