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 INI配置文件的解析实现分析
Jan 04 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
Nov 22 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
php mysql索引问题
2008/06/07 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
js正确获取元素样式详解
2009/08/07 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
python+pyqt5编写md5生成器
2019/03/18 Python
Django中的cookie和session
2019/08/27 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
利用python实现逐步回归
2020/02/24 Python
Python yield的用法实例分析
2020/03/06 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
大学生毕业鉴定
2014/01/31 职场文书
新学期教师寄语
2014/04/02 职场文书
面试自我评价范文
2014/09/17 职场文书
迎新生欢迎词
2015/01/23 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS