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 相关文章推荐
输出控制类
Oct 09 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 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 递归效率分析
2009/11/24 PHP
Yii学习总结之安装配置
2015/02/22 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
vue实现计步器功能
2019/11/01 Javascript
六个窍门助你提高Python运行效率
2015/06/09 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
numpy中索引和切片详解
2017/12/15 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
基于Python实现扑克牌面试题
2019/12/11 Python
怎么快速自学python
2020/06/22 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
英国探险旅游专家:Explore
2018/12/20 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
linux下进程间通信的方式
2014/12/23 面试题
助人为乐表扬信范文
2014/01/14 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
十月围城观后感
2015/06/08 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
Golang表示枚举类型的详细讲解
2021/09/04 Golang