New Laravel Project Throwing 500 Error: require(): Failed opening required autoload.php
New Laravel Project Throwing 500 Error: require(): Failed opening required autoload.php
我正在努力学习 laravel 并且正在尝试在我的服务器上进行设置。
我严格按照本教程中的所有说明进行操作,同时根据我自己的目录名称更改了一些变量:
http://davidmyers.name/post/laravel-on-digital-ocean
仅当我访问 laravel 项目的 public 文件夹时才会抛出 500 错误。当我尝试访问任何其他页面(例如 PHPMyAdmin 或任何其他 PHP 或 HTML 页面时,该页面正常显示。
是否有任何我可能遗漏的内容未包含在我引用的教程中?我仔细检查了我是否正确执行了所有步骤。
此外,运行 目录中的 composer 更新会抛出此错误:
[RuntimeException]
Error Output: PHP Warning: require(/var/www/html/testproj/bootstrap/../vendor/autoload.php): failed to open stream: No
such file or directory in /var/www/html/testproj/bootstrap/autoload.php on line 17
PHP Fatal error: require(): Failed opening required '/var/www/html/testproj/bootstrap/../vendor/autoload.php' (include
_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/testproj/bootstrap/autoload.php on line 17
我找到这篇相关的 Whosebug 文章:
但该解决方案对我不起作用,因为我的 phpinfo() 显示已启用 OpenSSL。
你有运行composer install
吗?这应该会在安装后自动 运行 php artisan optimize
,我相信这是创建相关文件的命令。
问题是服务器无法访问这些位置。
运行 以下命令
sudo chmod 755 -R "your project name"
然后
chmod -R o+w "your project name" /storage
如果还是不行试试运行:
sudo chmod 775-R "your project name"
sudo chmod 775-R "your project name"/storage
或
sudo chmod 777-R "your project name"
sudo chmod 777-R "your project name"/storage
您必须使用 composer 安装依赖项:
composer install
然后赋予storage
目录权限:
chmod 777 -R storage
或
sudo chmod 777 -R storage
事实证明我做的一切都是对的,但是当我去 运行 composer install
我没有看到它抛出安装错误,因为我的服务器没有足够的内存.增加我的服务器内存解决了这个问题。
有两件事需要考虑,
1. Web 服务器抛出 500 错误(好像文本和字体来自 Chrome)或
2. 应用显示500错误(图文并茂)
情况 1:您可能需要安装 composer
sudo composer install
案例 2:检查适当的存储权限/(如其他答案所建议的那样)并检查您是否有 .env 文件。如果不复制 .env.example 并重命名为 .env 并且您还需要生成应用程序密钥。
sudo php artisan key:generate
PS:如果您使用git在服务器上部署您的代码并且您的开发机器不同,您可能会遇到这种情况。这个答案是基于我遇到的场景以及它是如何解决的。
我正在努力学习 laravel 并且正在尝试在我的服务器上进行设置。
我严格按照本教程中的所有说明进行操作,同时根据我自己的目录名称更改了一些变量: http://davidmyers.name/post/laravel-on-digital-ocean
仅当我访问 laravel 项目的 public 文件夹时才会抛出 500 错误。当我尝试访问任何其他页面(例如 PHPMyAdmin 或任何其他 PHP 或 HTML 页面时,该页面正常显示。
是否有任何我可能遗漏的内容未包含在我引用的教程中?我仔细检查了我是否正确执行了所有步骤。
此外,运行 目录中的 composer 更新会抛出此错误:
[RuntimeException]
Error Output: PHP Warning: require(/var/www/html/testproj/bootstrap/../vendor/autoload.php): failed to open stream: No
such file or directory in /var/www/html/testproj/bootstrap/autoload.php on line 17
PHP Fatal error: require(): Failed opening required '/var/www/html/testproj/bootstrap/../vendor/autoload.php' (include
_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/testproj/bootstrap/autoload.php on line 17
我找到这篇相关的 Whosebug 文章:
你有运行composer install
吗?这应该会在安装后自动 运行 php artisan optimize
,我相信这是创建相关文件的命令。
问题是服务器无法访问这些位置。 运行 以下命令
sudo chmod 755 -R "your project name"
然后
chmod -R o+w "your project name" /storage
如果还是不行试试运行:
sudo chmod 775-R "your project name"
sudo chmod 775-R "your project name"/storage
或
sudo chmod 777-R "your project name"
sudo chmod 777-R "your project name"/storage
您必须使用 composer 安装依赖项:
composer install
然后赋予storage
目录权限:
chmod 777 -R storage
或
sudo chmod 777 -R storage
事实证明我做的一切都是对的,但是当我去 运行 composer install
我没有看到它抛出安装错误,因为我的服务器没有足够的内存.增加我的服务器内存解决了这个问题。
有两件事需要考虑, 1. Web 服务器抛出 500 错误(好像文本和字体来自 Chrome)或 2. 应用显示500错误(图文并茂)
情况 1:您可能需要安装 composer
sudo composer install
案例 2:检查适当的存储权限/(如其他答案所建议的那样)并检查您是否有 .env 文件。如果不复制 .env.example 并重命名为 .env 并且您还需要生成应用程序密钥。
sudo php artisan key:generate
PS:如果您使用git在服务器上部署您的代码并且您的开发机器不同,您可能会遇到这种情况。这个答案是基于我遇到的场景以及它是如何解决的。