php cli 方式 在crotab 中 运行解决

使用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脚本,要进入到脚本所在目录才可以 

 

你可能感兴趣的:(php cli 方式 在crotab 中 运行解决)