2017-12-13 35 views
0

이미 내 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 개의 내부 서버 오류가 발생했습니다.이 문제에 대한 많은 보완책을 찾았지만 이미 수행 한 단계를 지적했습니다.

+0

500 개의 오류가 실제로 발생했는지 확인하기 위해 로그를 확인 했습니까? – lagbox

+0

이것은 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 –

+3

즉, PHP 7.1이 설치되어 있지 않습니다. 그것은 PHP 7.0에서 소개 된 null 병합 연산자 (''??)를 깨고 있습니다. – Dwight

답변

0

처음

mbstring가 아직 설치되지 않은 경우

mbstring

, 당신은 요청할 수 있습니다 ..., 당신은 당신의 PHP 정보

<?php 
phpinfo(); 
?> 

를 확인하실 수 있습니다 그리고 당신은 거기에 "mbstring"를 검색 할 수 있습니다 그것을 설치하는 공급자.

이미 설치되어 있고 여전히 오류가 발생하면 phpinfo()에서 php 버전을 확인해야합니다. 그리고 php artisan 명령을 사용하여 캐시를 지 웁니다. 쉘 권한이있을 때 "php -v"명령으로 PHP 버전을 확인하고 php가있는 기본 PHP를 볼 수 있습니다.

+0

아, 맞아, 내 phpinfo가 갖고 있지 않다. 먼저 설치하겠습니다. 고맙습니다! –