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
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <[email protected]>
*/
/*
|--------------------------------------------------------------------------
| 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(IlluminateContractsHttpKernel::class);
$response = $kernel->handle(
$request = IlluminateHttpRequest::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)
3
Answers
The solution was to contact with my hosting provider and change the PHP Version to >= 5.6.4 .
My be web server using my old PHP version 5. To solve it try
sudo a2dismod php5
sudo a2enmod php7.0
sudo service apache2 restart
You have problem with your index.php file
In this line you have to replace this bootstrap with vendor because laravel 5.6 store autoload file in the vendor folder not in bootstrap folder
Please remove bootstrap and add vendor and run
composer dump-autoload command
than try to access 🙂