Programing

예외 처리기에서 오류가 발생했습니다.

crosscheck 2020. 7. 23. 08:09
반응형

예외 처리기에서 오류가 발생했습니다. -라 라벨


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>

다음을 포함하는 test.php를 사용하여 / var / www / mydomain, 즉 http://mydomain.org/test.php 에서 문서를 제공 할 수 있습니다 .

<?php echo 'test';

잘 작동합니다.

bash에서 Laravel을 Composer를 통해 설치하고 파일을 확인하십시오.

# 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. 

빈 흰색 화면에서 브라우저에서? 라 라벨 시작 화면이 표시 될 것으로 예상됩니다.

또한 로그 파일에는 아무것도 표시되지 않습니다.


더 안전한 옵션은 스토리지 디렉토리 그룹을 웹 서버 그룹 (일반적으로 apache또는 www-data이지만 운영 체제마다 다를 수 있음)으로 변경하고 디렉토리의 권한을로 유지하는 것 775입니다.

chgrp -R www-data app/storage

또는 chown.

chown -R :www-data app/storage

그런 다음 디렉토리 권한이 있는지 확인하십시오 775.

chmod -R 775 app/storage

로부터 Laravel 웹 사이트 :

Laravel은 하나의 권한 세트를 구성해야 할 수도 있습니다. 앱 / 스토리지 내의 폴더에는 웹 서버의 쓰기 권한이 필요합니다.


라 라벨 5.2

chmod -R 777 스토리지

Old Laravel chmod 777 앱 / 스토리지 / *

자신의 계정 이외의 사용자 계정이없는 합당한 전용 서버가 있다면 777은 다른 어떤 것보다 더 큰 보안 위험을 초래하지 않아야합니다. 악의적 인 사용자가이 취약점을 이용하기 위해서는 다른 취약점이있을 수 있습니다.이 시점에서 777 권한은 어쩌면 무례 할 것입니다. 그러나 신뢰할 수없는 다른 사용자와 공유 서버에있는 경우 더 복잡한 권한을 조사하거나 호스팅 제공 업체가 이미 격리를 제공했는지 확인해야합니다.

실제로 이것을 빠른 시작 문서에 넣고 다양한 설정에 대한 예제를 제공해야합니다. 더 많은 디렉토리가 자동으로 작성되므로 첫 번째로드 후에 다시 실행해야 할 수도 있습니다. 로그에서 쓰기 오류를 찾으십시오.

또한 DocumentRoot는 / path / to / laravel-project / public이어야합니다


app/storage/sessions폴더 내부의 오래된 세션을 삭제 하고 그 후에 불처럼 작동하는 것을 775허용했습니다 app/storage!

chmod -R 775 app/storage

행운을 빕니다!


이 밴드 웨건은 오래 전에 이것을 통과했지만 여전히 "예외 처리기에서의 오류"에 대한 또 다른 조언이 있습니다.

나는 "php artisan"을 실행했을 때 이런 일이 일어났다. 이것은 당신의 환경이 일반적으로 작동하는지 평가하는 좋은 방법이다.

나는 그것을 실행했고 그 오류가 발생하여 프로젝트의 루트 디렉토리에서 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 구성이지만 귀하의 경우에는 아무것도 될 수 있습니다.

나는 이것이 누군가에게 도움이되기를 희망하거나 적어도 다음에 여기에 도착하면 내 자신의 대답을 찾을 것입니다.


The shortest way to solve this is starting artisan with sudo. This will give artisan all the permissions it needs and won't make any security troubles as well.

so instead starting artisan serve with:

$ php artisan serve

try using:

$ sudo php artisan serve 

thus you wont have to make any permission changes


I have the same issue, I just change the permission from directory app/storage to 775 with the chmod command line

참고URL : https://stackoverflow.com/questions/23186952/error-in-exception-handler-laravel

반응형