crontab中PHP inlucde相对路径导致脚本不执行的解决办法
来源:互联网 发布:简易c语言程序 编辑:程序博客网 时间:2024/05/01 20:30
因为crontab默认在/root下执行,所以php脚本引入相对路径时,会按照crontab执行路径(/root)去include文件,所以就找不到要include的文件了。
include ('../inc/common.inc.php');
解决办法一:
chdir(dirname(__FILE__));// cd 到php脚本所在的目录include ('../inc/common.inc.php');
因为__DIR__ 和 dirname(__FILE__)是等价的,所以,上面的语句和下面这条语句是一样的:
include (__DIR__.'/../inc/common.inc.php');
解决办法二:
借助shell(假设我的php脚本(my_script.php)在/var/www/my_project 目录下):
#!/bin/bashcd /var/www/my_project && php my_script.php >> /var/log/my_script.log 2>&1
上面的命令先cd 到脚本所在路径,
然后执行脚本,
最后把标准错误输出和标准输出都重定向到/var/log/my_script.log中
参考:
1. http://stackoverflow.com/questions/1969374/relative-path-not-working-in-cron-php-script
2. http://linux-wiki.cn/wiki/zh-hans/Bash%E7%9A%84%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E9%87%8D%E5%AE%9A%E5%90%91
0 0
- crontab中PHP inlucde相对路径导致脚本不执行的解决办法
- linux crontab执行shell脚本中包含相对路径的问题
- linux 的crontab任务中py脚本不执行的解决办法
- crontab不支持相对路径脚本的解决方法
- 谨防php包含文件的相对路径问题导致的crontab无法正常运行
- crontab执行任务调用shell脚本,相对路径无法找到
- crontab 不执行解决办法
- php中require/include 包含相对路径的解决办法
- 在Crontab中执行PHP脚本
- crontab执行带参数的php脚本
- crontab里php使用相对路径的方法
- crontab里php使用相对路径的方法
- [Shell]crontab 执行任务调用shell脚本,相对路径无法找到
- crontab shell、python程序不执行的解决办法
- crontab执行php或执行shell脚本
- php 相对路径中 ./ 与../的区别
- 用Linux的Crontab定时执行PHP脚本的方法
- Linux的Crontab定时执行PHP脚本的方法
- ios--OpenCV--进行肤色检测
- Sql注入漏洞及绑定变量浅谈
- 20140404学习_myeclipse调试debug注意
- 起点-积累-进步-成长
- 一步步学习数据结构和算法之希尔排序效率分析及java实现
- crontab中PHP inlucde相对路径导致脚本不执行的解决办法
- SEO基础知识——SEO是什么?
- Vim自动补全神器:YouCompleteMe
- L1 norm, L2 norm
- 图像处理中GlobalAlloc、GlobalLock、GlobalUnLock
- PL/SQL 基础
- Java多线程断点续传下载
- Tablelayout 讲解
- js根据按键传值跳转页面