【问题标题】:autoload.php failed opening, vendor file not present in Apacheautoload.php 打开失败,Apache 中不存在供应商文件
【发布时间】:2021-05-11 13:01:08
【问题描述】:

我之前已经看到有人问过这个问题,但我很难找到一个可以解决我的问题的问题 - 我目前正在使用(并且是新手)Laravel Blade 和 Apache2。我在我们的开发服务器上设置了一个项目,该项目在登台网站上返回 500 错误,并且 site-error.log 显示以下错误:

PHP Fatal error:  require(): Failed opening required '/var/www/WEBSITE-NAME/htdocs/public/../vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/WEBSITE-NAME/htdocs/public/index.php on line 34

index.php的第34行是:

require __DIR__.'/../vendor/autoload.php';

供应商文件夹的路径是 C:\laragon\www\WEBSITE-NAME\vendor,其中包含 autoload.php 文件。

我尝试了几次composer install,没有任何变化。

但是,vendor 文件夹未显示在项目的 htdocs 中的 Apache2 服务器上。 .gitignore 自动更新为 /vendor 所以我不确定这是否是它不在服务器上的原因,但其他工作项目在他们的 .gitignore 中有 /vendor 并且 /vendor 存在于他们的文件中阿帕奇。

抱歉,如果我没有很好地解释这一点 - 任何指导将不胜感激,非常感谢!

【问题讨论】:

  • 如果位置是www\WEBSITE-NAME\vendor,那么您需要从/var/www/WEBSITE-NAME/htdocs/public/ 上升两个 级别。您只在 __DIR__.'/../vendor/autoload.php'; 中使用了一个父目录调用。
  • 非常感谢您查看 - 不幸的是,这没有帮助。该项目在 Laragon 本地运行良好,但似乎并未将所有内容都拉到登台服务器,例如包含 autoload.php 的供应商文件夹不存在。你知道为什么会这样吗?再次感谢!
  • 不幸的是,没有。在部署和 Git 方面没有太多工作。我能做的最好的就是祝你好运:)

标签: php laravel laravel-5 apache2 laragon


【解决方案1】:

我的问题已通过手动将 composer 安装到服务器上的项目文件夹中得到解决 :)

【讨论】:

  • 虽然可行,但在项目目录 (/var/www/WEBSITE-NAME/htdocs) 中运行 composer install 应该已经安装了所需的依赖项并解决了问题。运行命令的结果是什么?是否有任何错误,或者它是否开始在安装过程中运行?
  • 没有错误,直接进入服务器安装过程。我不确定的一件事是,在我推送任何涉及作曲家的更改时,是否必须在服务器上 composer update
猜你喜欢
  • 1970-01-01
  • 2022-01-03
  • 2019-05-30
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
相关资源
最近更新 更多