php cli 方式 在crotab中运行解决

复制代码 代码如下:

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