Wednesday, March 21, 2018

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

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...