Sunday, 27 August 2017

php - Laravel 5.4 throws 500 error after fresh install



Information :




Php version 7.1


All extensions installed :



OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension



Tried running :



composer dump-autoload
composer clear-cache
artisan clear:cache
artisan config:Cache



Error in error log :




PHP Parse error: syntax error, unexpected 'class' (T_CLASS),
expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$'
in /home/username/laravel/public/index.php on line 50




When visiting site : HTTP ERROR 500




Any ideas?



EDIT 1:



Content of public/index.php




/**
* Laravel - A PHP Framework For Web Artisans

*
* @package Laravel
* @author Taylor Otwell
*/

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|

| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/

require __DIR__.'/../bootstrap/autoload.php';

/*

|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/


$app = require_once __DIR__.'/../bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to

| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);


$response->send();

$kernel->terminate($request, $response);

?>


How i installed laravel :




Logged in through SSH to server. cd /home/username/



// Download composer & install & unistall

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

// Download laravel


/opt/cpanel/ea-php71/root/usr/bin/php /home/username_here/composer.phar create-project --prefer-dist laravel/laravel

// Create soft link

rm -rf public_html
ln -s laravel/public/ public_html


// Change ownership permissions


chown -R username_here:username_here /home/username_here/laravel
chown -R username_here:username_here /home/username_here/public_html

// Generate a key

/opt/cpanel/ea-php71/root/usr/bin/php /home/username_here/laravel/artisan key:generate


Server uses MultiPHP Manager so in order to use php version 7.1 i have to use the selected php version (/opt/cpanel/ea-php71/root/usr/bin/php)



Answer



The solution was to contact with my hosting provider and change the PHP Version to >= 5.6.4 .


No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...