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 스플래시 화면이 표시 될 것으로 예상합니다.
또한 로그 파일에는 아무것도 표시되지 않습니다.
답변
더 안전한 옵션은 스토리지 디렉토리 그룹을 웹 서버 그룹으로 변경하고 (일반적으로 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 스토리지
이전 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 구성 이었지만 귀하의 경우에는 무엇이든 될 수 있습니다.
이 정보가 누군가에게 도움이되기를 바랍니다. 아니면 다음에 여기에 올 때마다 제 답을 찾을 수있을 것입니다.
답변
이를 해결하는 가장 짧은 방법은 sudo로 장인을 시작하는 것입니다. 이것은 장인에게 필요한 모든 권한을 제공하고 보안 문제도 일으키지 않을 것입니다.
그래서 대신 장인을 시작하십시오 :
$ php artisan serve
사용해보십시오 :
$ sudo php artisan serve
따라서 권한을 변경할 필요가 없습니다.
답변
동일한 문제가 있습니다. chmod 명령 줄 을 사용하여 디렉토리 app / storage에서 775로 권한을 변경합니다.
답변
