이미 내 laravel 프로젝트 폴더를 cpanel 호스팅에 업로드했습니다. 나는 VPS를 가지고 있지 않았다. 나는 laracast와 stackoveflow에서 많은 예제를 읽었지만 여전히이 500 개의 내부 에러를 얻는다. 이것은 나의 설정이다.Laravel 5.5 Cpanel 공유 호스팅의 오류 500
내 laravel 프로젝트에서 공용 폴더를 구분하고 다른 하나를 내 호스팅의 루트 디렉터리에 넣습니다.
에서require __DIR__.'/../vendor/autoload.php';
require __DIR__.'/../../my_other_folder_project/vendor/autoload.php';
하고
$app = require_once __DIR__.'/../bootstrap/app.php';
에서 :
|-- my_other_folder_project/
|-- [some other folders...]
|-- public_html/
| |-- [some other folders...]
| |-- my_public_project/
과 변화의 index.php가로 설정
$app = require_once __DIR__.'/../../my_other_folder_project/bootstrap/app.php';
에이 같은 공용 폴더에 대한 htaccess로 파일을 만들 수 있습니다
DirectoryIndex index.php
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
이에 대한 나의 PHP 7.1 내가 OpenSSL을, PDO, Mbstring, 토큰 화와 같은 다른 requirenment을 확인했습니다 이미 설치되어있다.
하지만 여전히 500 개의 내부 서버 오류가 발생했습니다.이 문제에 대한 많은 보완책을 찾았지만 이미 수행 한 단계를 지적했습니다.
500 개의 오류가 실제로 발생했는지 확인하기 위해 로그를 확인 했습니까? – lagbox
이것은 error_log에 있습니다 : [13-Dec-2017 03:20:30 UTC] PHP 구문 분석 오류 : 구문 오류, 예기치 않은 '?' in /home/myuser/myfolder/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 233 –
즉, PHP 7.1이 설치되어 있지 않습니다. 그것은 PHP 7.0에서 소개 된 null 병합 연산자 (''??)를 깨고 있습니다. – Dwight