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 判断常量,变量和函数是否存在
Apr 26 PHP
php获取服务器信息的实现代码
Feb 04 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
Feb 14 PHP
PHP通过API获取手机号码归属地
May 28 PHP
php数组合并与拆分实例分析
Jun 12 PHP
PHP实现图片上传并压缩
Dec 22 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
PHP数据库处理封装类实例
Dec 24 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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中动态显示签名和ip原理
2007/03/28 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
php实现算术验证码功能
2018/12/05 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
分享15个最受欢迎的Python开源框架
2014/07/13 Python
Python深入06——python的内存管理详解
2016/12/07 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
python设置随机种子实例讲解
2019/09/12 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python timeit模块的使用实践
2020/01/13 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
Python flask框架端口失效解决方案
2020/06/04 Python
商场总经理岗位职责
2014/02/03 职场文书
雷锋之歌观后感
2015/06/10 职场文书
初中信息技术教学反思
2016/02/16 职场文书
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python
JavaScript设计模式之原型模式详情
2022/06/21 Javascript