【问题标题】:500 Error on new Laravel installation copied from git repo从 git repo 复制的新 Laravel 安装时出现 500 错误
【发布时间】:2021-09-21 13:58:47
【问题描述】:

发布一个问题,然后自己回答,因为我找不到答案。

我从 git repo 恢复了一个 Laravel 项目,运行了所有正常的 composer 和 artisan 命令来设置项目,但我收到了 500 服务器错误,但没有解释页面无法加载的原因。最终我在 Apache 日志中发现了错误:

AH01215: PHP Fatal error:  Cannot declare interface Psr\\Log\\LoggerInterface, because the name is already in u
se in /.../laravelproject/bootstrap/cache/compiled.php on line 14048

Laravel 甚至没有加载,所以 laravel 自己的 storage/logs/laravel.log 文件不包含任何帮助。

由于我使用的是共享主机帐户,因此 apache 日志文件并没有放在明显的位置...始终找出存储位置,以便在 Laravel 没有给出提示时检查那里。

来自composer.json,这里是正在使用的 laravel 和 package 版本。服务器正在运行 PHP 7.4。

 "require": {
        "php": ">=5.6.4",
        "barryvdh/laravel-debugbar": "^2.4",
        "guzzlehttp/guzzle": "*",
        "laravel/framework": "5.3.*",
        "laravelcollective/html": "^5.3.0",
        "maatwebsite/excel": "~2.1.0"
    },

【问题讨论】:

  • 你应该把它作为一个“问题”实际发布,然后实际写一个答案,而不是将答案放入问题中
  • 清除所有缓存php artisan route:clear && php artisan view:clear && php artisan config:clear && php artisan cache:clear && php artisan clear-compiled && composer dump-autoload

标签: php laravel http-status-code-500


【解决方案1】:

网络上的其他帮助文件建议包括 .gitignore 中的这两个目标:

# Laravel 4 specific
bootstrap/compiled.php
app/storage/

# Laravel 5 & Lumen specific
public/storage
public/hot
storage/*.key
.env.*.php
.env.php
.env
Homestead.yaml
Homestead.json
composer.lock

我的问题,正如上面提到的 Apache 错误与 bootstrap/cache/compiled.php 一样,我还没有看到很多关于它的引用。删除此文件解决了问题,我认为将其包含在 .gitignore 文件中可能是一个好主意。

新的.gitignore:

# Laravel 4 specific
bootstrap/compiled.php
app/storage/

# Laravel 5 & Lumen specific
public/storage
public/hot
storage/*.key
.env.*.php
.env.php
.env
Homestead.yaml
Homestead.json
composer.lock
bootstrap/cache/compiled.php

这个问题的发生可能是因为它不是全新安装,它是一个旧项目的克隆,我正在恢复到一个新文件夹并且编译的文件随之而来。

【讨论】:

    猜你喜欢
    • 2017-09-01
    • 2018-04-25
    • 2016-03-31
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    相关资源
    最近更新 更多