[已解决]Thinkphp Error: Failed to open stream: No such file or directory vendor/autoload.php
当第一次尝试着去运行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.