【问题标题】:How to debug Laravel Site show HTTP ERROR 500? [closed]如何调试 Laravel 站点显示 HTTP 错误 500? [关闭]
【发布时间】:2019-04-06 16:35:44
【问题描述】:

我在 Laravel 5.7 上,我的应用程序在我的本地 Mac OSX 上加载正常。

但在我的生产版 Ubuntu Server 上,我一直得到 500


权限

我已经chmod R 777 storage/ bootstrap/ vendor/


.env

我还检查了我的 .env 文件,一切似乎都已正确配置。


nginx

我签入了cd /var/log/nginx/ 我什么也没看到。


laravel

我检查了/home/forge/bheng/storage/logs - 那里也没有。


composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "laravel/framework": "5.7.*",
        "intervention/image": "^2.3",
        "laravelcollective/remote": "5.7.*",
        "doctrine/dbal": "^2.3",
        "league/flysystem-sftp": "^1.0",
        "laravelcollective/html": "^5.4.0",
        "phpseclib/phpseclib": "~2.0",
        "htmlmin/htmlmin": "^5.0",
        "league/flysystem-aws-s3-v3": "~1.0",
        "vinkla/instagram": "^8.0",
        "php-http/message": "^1.6",
        "php-http/guzzle6-adapter": "^1.1"
    },
    "require-dev": {
        "phpunit/phpunit": "~7.0",
        "phpspec/phpspec": "~5.0",
        "symfony/dom-crawler": "~3.1",
        "symfony/css-selector": "~3.1",
        "filp/whoops" : "~2.0"
    },
    "autoload": {
        "classmap": [ "database" ],

        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
        ]
    },
    "scripts": {
        "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
        ],
        "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
        ],
        "post-create-project-cmd": [
        "php -r \"copy('.env.example', '.env');\"",
        "php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

如何进一步调试?

【问题讨论】:

  • 如果您可以访问 PROD 服务器,也许您可​​以检查 laravel.log 文件以查看错误所在。
  • 是的,我确实可以访问 prod 服务器,它的完整路径是什么?
  • 不完全确定,因为不熟悉你的环境,但它在storage 目录中。像这样... [APP]/storage/logs/laravel.log.
  • 什么都没有——空的。
  • 仅作记录:将权限授予每个人 (777) 一个文件夹 storage/ bootstrap/ vendor/ 是一个安全问题。您的 NGINX 指向哪个文件夹作为文档根目录?

标签: php laravel nginx laravel-5 laravel-5.7


【解决方案1】:

检查 php 版本是否正确,要知道您的 Apache 服务器使用的 PHP 版本,请使用 phpinfo(),php version check,但您可能会在 php -v 中获得不同的版本。如果这是问题,请使用

    $ sudo a2dismod php5.6
    $ sudo a2enmod php7.1
    $ sudo service apache2 restart

切换 php 版本,然后转到 bootstrap/cache 文件夹并清除文件夹。

【讨论】:

  • 我没有使用 apache。我用的是nginx,你的回答不相关。
【解决方案2】:

您的laravel.log 文件只有root lavel 写入权限,但是您的网络服务器似乎使用www-data 作为一个组,也可能是一个用户。您可以更改laravel.log 文件的组和所有者。

chown  www-data:www-data /home/forge/bheng/storage/logs/laravel.log

之后它将开始记录。

对于 Laravel 5 中的文件权限,您可以查看How to set up File Permissions for Laravel 5 (and others)

【讨论】:

  • 我尝试了那个命令,然后刷新我的页面,我又得到了 500 错误。
  • 之后查看日志,什么也看不到。
猜你喜欢
  • 2019-07-16
  • 1970-01-01
  • 2019-05-11
  • 2018-03-21
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
相关资源
最近更新 更多