php cli 模式下執行檔案,require 載入路徑錯誤

來源:互聯網
上載者:User
  今天,同事突然告訴我,我寫的一個做計劃任務的php指令碼執行總是不成功。

  指令碼本身很簡單,裡面只有包含了幾個庫檔案並執行了一個函數,函數應該沒有錯誤,這個函數在別處也調用過,沒有問題。我在本地用瀏覽器訪問頁面,執行成功,看來沒有問題,我有點懷疑是同事的計劃任務的問題。我又開啟命令列,用php直接執行指令碼,這回報錯了,是require 包含檔案錯誤,看來是路徑不對。

  不明白是什麼原因引起的,只是從報錯來看是路徑不對,我猜測是跟相對路徑有關,於是把相對路徑的全部改成絕對路徑,再執行,問題解決。

  在百度上搜尋之後,知道是用php執行指令碼時,執行指令碼的位置是當前執行php命令的路徑,所以相對路徑就不對了。解決問題的辦法有兩個:

  一、改用絕對路徑,這個比較麻煩,所有包含的檔案包括直接包含的檔案裡包含的檔案路徑,有一個不對就有可能出錯,所以只有當執行檔案比較簡單的時候可用。

  二、使用chdir函數,改變當前執行目錄,把目錄改為檔案所在目錄,chdir(dirname(__FILE__));

以上就介紹了php cli 模式下執行檔案,require 載入路徑錯誤,包括了require方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.