完全安装后,Laravel 5.4会抛出500错误

时间:2017-06-13 12:05:57

标签: php laravel-5.4

信息:

Php version 7.1

已安装所有扩展程序:

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

试着跑步:

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

错误日志错误:

  

PHP解析错误:语法错误,意外'类' (T_CLASS),   期待标识符(T_STRING)或变量(T_VARIABLE)或' {'或者' $'   在第50行的/home/username/laravel/public/index.php

访问网站时:HTTP ERROR 500

有什么想法吗?

编辑1:

public / index.php的内容

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

/*
|--------------------------------------------------------------------------
| 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);

?>

我如何安装laravel:

通过SSH登录到服务器。 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

服务器使用MultiPHP Manager,所以为了使用php 7.1版,我必须使用所选的php版本(/ opt / cpanel / ea-php71 / root / usr / bin / php)

3 个答案:

答案 0 :(得分:0)

我是使用旧版PHP 5的Web服务器。要解决它,请尝试

sudo a2dismod php5 sudo a2enmod php7.0 sudo service apache2 restart

答案 1 :(得分:0)

解决方案是与我的托管服务提供商联系,并将PHP版本更改为&gt; = 5.6.4。

答案 2 :(得分:0)

您的index.php文件有问题

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

在这一行中,您必须用供应商替换该引导程序,因为laravel 5.6将自动加载文件存储在供应商文件夹中而不是引导程序文件夹中

请删除引导程序并添加供应商,然后运行composer dump-autoload command而不是尝试访问:)