apache 异常处理程序出错,- Laravel

6yoyoihd  于 2022-12-27  发布在  Apache
关注(0)|答案(6)|浏览(95)

这是一个与Laravel安装相关的问题。我有一个面向公众的Unix服务器设置:

<VirtualHost *:80>
ServerAdmin webmaster@mydomain.org
DocumentRoot "/var/www/mydomain"
ServerName mydomain.org
ServerAlias www.mydomain.org
ErrorLog "/var/log/mydomain.org-error_log"
CustomLog "/var/log/mydomain.org-access_log" common
</VirtualHost>

我可以从/var/www/mydomain(即http://mydomain.org/test.php)中很好地提供包含以下内容的test.php文档:

<?php echo 'test';

工作正常。
在bash中,通过Composer安装Laravel并查看文件:

# ls /var/www/mydomain/my-laravel-project

.gitattributes  CONTRIBUTING.md artisan         composer.json   phpunit.xml readme.md       vendor
.gitignore      app             bootstrap       composer.lock   public          server.php

因此,当我浏览到:

http://mydomain.org/my-laravel-project/public/

为什么我的申请报告:

Error in exception handler.

在浏览器中-在一个空白的白色屏幕上?我期待看到Laravel的启动屏幕。
此外,日志文件也没有透露任何信息。

wecizke3

wecizke31#

更安全的选择是将存储目录组更改为您的Web服务器组(通常为apachewww-data,但这在不同的操作系统之间可能有所不同),并将目录的权限保留为775

chgrp -R www-data app/storage

或者用chown

chown -R :www-data app/storage

然后确保目录权限为775

chmod -R 775 app/storage

Laravel web site
Laravel可能需要配置一组权限:应用程序/存储中的文件夹需要Web服务器的写入访问权限。

vd2z7a6w

vd2z7a6w2#

拉腊维尔5.2

chmod -R 777存储

旧版Laravelchmod 777应用程序/存储/*

注意,如果你有一个合理锁定的专用服务器,除了你自己的用户帐户,777应该不会带来任何安全风险。一定有其他漏洞让恶意用户利用,在这一点上,777权限可能是没有意义的。但是,如果你和其他你不信任的用户在一个共享服务器上,那么您需要查看更复杂的权限或检查您的主机提供商是否已经提供了隔离。
他们真的应该把这个放在快速启动文档中,并提供各种设置的示例。你可能还需要在第一次加载后再次运行它,因为会自动创建更多的目录。在你的日志中查找写错误。
您的文档根目录也应该是/path/to/laravel-project/public

qmb5sa22

qmb5sa223#

我删除了app/storage/sessions文件夹内的旧会话,并给予775权限app/storage之后,它的工作就像一个火!

chmod -R 775 app/storage
wpx232ag

wpx232ag4#

很久很久以前,潮流已经传递了这一点,但我仍然有另一条关于“异常处理程序中的错误”的建议。
当我运行“php工匠”时,我就遇到了这种情况,这是一种评估您的环境是否总体正常工作的好方法。
我运行了它,它给了我那个错误,我不能找出问题所在,直到我编辑了我项目根目录下的artisan文件,并添加了一个try catch语句:

try {
    $artisan = Illuminate\Console\Application::start($app);
}
catch (Exception $e)
{
    dd($e->getMessage());
}

这时我终于看到了一条启发性的信息:

string(41) "Connection refused [tcp://127.0.0.1:6379]"

这在我的情况下是一个坏的redis配置,但在你的情况下可能是任何东西。
我希望这对某人有帮助,或者至少下次我到这里的时候我会找到自己的答案。

xwbd5t1u

xwbd5t1u5#

解决这个问题的捷径是使用sudo启动artisman,这将为artisman提供它所需要的所有权限,而且不会带来任何安全问题。
所以开始的时候工匠服务是:

$ php artisan serve

尝试使用:

$ sudo php artisan serve

因此,您不必进行任何权限更改

webghufk

webghufk6#

我遇到了同样的问题,我只是使用chmod命令行将权限从目录app/storage更改为775

相关问题