当前位置: 首页 > 图文教程 > 网络编程 > PHP > php cli 方式 在crotab中运行解决

PHP
图书管理程序(三)
PHP脚本的10个技巧(1)
PHP脚本的10个技巧(2)
用PHP调用数据库的存贮过程!
给多个地址发邮件的类
用函数读出数据表内容放入二维数组
用文本文件制作留言板提示(上)
用文本文件制作留言板提示(下)
WIN98下Apache1.3.14+PHP4.0.4的安装
Email+URL的判断和自动转换函数
一个高ai的分页函数和一个url函数
PHP的ASP防火墙
PHP网上调查系统
转换中文日期的PHP程序
全文搜索和替换
教你如何把一篇文章按要求分段
一个用于mysql的数据库抽象层函数库
php&java(三)
php&java(一)
php&java(二)

PHP 中的 php cli 方式 在crotab中运行解决


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 313 ::
收藏到网摘: n/a

使用php脚本写了一个脚本,需要在crontab中定期运行,但是出现如下错误
复制代码 代码如下:

/var/www/html/bt/e/BtSys:.:/usr/share/pear:/usr/share/phpPHP Warning: require(../class/connect.php): failed to open stream: No such file or directory in /var/www/html/bt/e/BtSys/torrents-scrape.php on line 17
PHP Fatal error: require(): Failed opening required '../class/connect.php' (include_path='/var/www/html/bt/e/BtSys:.:/usr/share/pear:/usr/share/php') in /var/www/html/bt/e/BtSys/torrents-scrape.php on line 17

尝试解决方法1 加入如下代码
代码
复制代码 代码如下:

// setting include path
$cur_dir=getcwd();
$cur_dir=$basedir = dirname(__FILE__);
$path = ini_get('include_path');
ini_set("include_path", "$cur_dir:$path");
$path = ini_get('include_path');
//echo $path;
require(../class/a.php)
require(../class/b.php)
...............

运行失败
尝试解决方法2 加入如下代码
复制代码 代码如下:

$cur_dir = dirname(__FILE__);
chdir($cur_dir);
require(../class/a.php)
require(../class/b.php)

运行成功
总结: 在require 时,如果是相对目录,在crontab 中运行php脚本,要进入到脚本所在目录才可以