国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php命令行(cli)下執行PHP腳本文件的相對路徑的問題解決方法

2024-05-04 23:35:29
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php命令行(cli)下執行PHP腳本文件的相對路徑的問題解決方法,特別是在crontab中運行PHP腳本時,肯定會遇到路徑問題,參照本文方法即可解決,需要的朋友可以參考下
 

在php命令行下執行.php文件時,執行環境的工作目錄(getcwd( ))是php命令程序(php.exe)所在目錄,所以如果想在文件內使用相對路徑時,要先切換當前的工作目錄才行。

小測試程序:

復制代碼代碼如下:

<?php
 $oldpath = getcwd();    // 原始工作目錄 php.exe所在目錄
 $path = dirname(__FILE__);    
 chdir($path);           // 切換工作目錄為當前文件所在目錄
 $fpath = "forum/readme.txt";
 
 $fp = fopen($fpath, "a+b");    // 如果不切換工作目錄這里會報找不到文件的錯誤
 fwrite($fp, "oldpath:".$oldpath."-newpath:".getcwd());
 fclose($fp);
?>

    需要用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腳本,要進入到腳本所在目錄才可以


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛纳斯县| 蓬安县| 松江区| 崇信县| 浮山县| 怀仁县| 建宁县| 南阳市| 隆回县| 杭锦后旗| 门源| 昆明市| 综艺| 广灵县| 卢湾区| 柘城县| 邵武市| 光泽县| 宕昌县| 巩义市| 扶余县| 平邑县| 奈曼旗| 湟中县| 磐石市| 镇巴县| 土默特左旗| 云南省| 屏东市| 龙井市| 苍山县| 上虞市| 双峰县| 城口县| 镇雄县| 百色市| 根河市| 翁牛特旗| 饶平县| 新乐市| 扶余县|