當第一次嘗試着去運行thinkphp時,你或許會得到下面的錯誤。
Warning: require(/var/www/html/tp/public/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/tp/public/index.php on line 15 Fatal error: require(): Failed opening required '/var/www/html/tp/public/../vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/tp/public/index.php on line 15
問題場景:
這個問題一般發生在你從github上下載(download)或者克隆(clone) thinkphp的時候,我們將得到的thinkphp放入web服務器,然后通過瀏覽器去訪問它(http://localhost/tp5/public)。
原因:
盡管你已經下載了Thinkphp框架代碼並且把他放入到你的web服務器上,但是這里仍然缺少了依賴性。為了能夠讓Thinkphp正常運行,應該安裝這些缺少的依賴。
解決:
為了解決這個錯誤,你需要使用composer去安裝缺少的依賴。Composer是PHP的一個依賴性包管理工具。如果你的系統中還沒有安裝composer,你需要第一時間安裝它。你可以去官網下載composer: https://getcomposer.org.
如果你是Linux系統,你可以通過終端去安裝
sudo apt install composer
一旦在你的系統上安裝了composer,然后你需要按以下步驟去安裝缺少的依賴性:
-打開終端或者命令提示符
-進入你的Thinkphp目錄
-例如,默認情況下Ubuntu Linux的web root是/var/www//html;在Windos中,如果你把wamp安裝在D盤下,那么你的web root將是D:/wamp/www
-假設,你下載、復制了Thinkphp文件到名為tp的目錄下
-然后,在Linux下的web服務器中,你的tp目錄將會是/var/www/html/tp
-你可以在終端通過以下命令進入到tp目錄: cd /var/www/html/tp
-運行下面的命令
composer install
-這將會安裝運行Thinkphp所需的依賴。安裝所有的依賴可能需要一些時間。
現在你應該能夠正常地訪問Thinkphp了,不會有任何的錯誤。
http://localhost/tp/public
如果你已經運行了composer install命令卻仍然得到錯誤,那么你應該運行下面的命令:
composer update
或者說,創建thinkphp project和安裝thinkphp的最好的方式就是直接使用composer。你可以在終端或者命令行提示符中運行下面的composer命令:
-進入你的web服務器root( 在Linux中是/var/www/html )
-在終端運行下面的命令:
composer create-project topthink/think name-of-your-project
-這將會創建一個name-of-your-project目錄並在目錄中安裝Thinkphp文件。
-這還將安裝所有必須的依賴以運行Thinkphp
-然后,你可以在瀏覽器中輸入: htpp://localhost/name-of-your-project/public 去訪問Thinkphp
Hope this helps. Thanks.