Ошибка разбора Laravel: синтаксическая ошибка, неожиданный T_CLASS, ожидающий T_STRING или T_VARIABLE

После установки laravel мы получим сообщение об ошибке:

Ошибка анализа: синтаксическая ошибка, неожиданный T_CLASS, ожидающий T_STRING или T_VARIABLE или '$' в C:\xampp\htdocs\laravel\public\index.php в строке 50

Ответ 1

Laravel 5.1 использует свойство ::class для получения строковых представлений полного имени класса. Ошибка, которую вы видите, вызвана этой строкой

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

Эта языковая функция была введена в PHP 5.5, которая является требованием Laravel 5.1. Ваша установленная версия PHP, вероятно, старше, чем 5.5. Попробуйте обновить бинарный файл PHP.


Если вас интересует, почему используется ::class, взгляните на этот ответ

Ответ 2

То же самое случилось со мной. Я обнаружил, что веб-сервер использует мою старую версию PHP 5. Чтобы решить эту проблему для меня, я сделал это -

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

Ответ 3

Ваша версия PHP на вашем Xampp ниже 5.5.9, как указано в Laravel 5.1 doc.

Просто удалите свое текущее программное обеспечение Xampp и загрузите новую копию на веб-сайте Apache с этой спецификацией 5.6.12/PHP 5.6.12.

Не забудьте сотрудничать с вашим провайдером хоста, чтобы убедиться, что ваша учетная запись хостинга использует требуемую версию PHP ( >= 5.5.9) во время развертывания вашего приложения Laravel 5.1 в Интернете.

Ответ 4

Ваша версия php слишком низкая. Попробуйте версию 7.0 или позже php.

Ответ 5

Перейдите к строке 50 и убедитесь, что точка с запятой завершает код