Ошибка разбора 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 и убедитесь, что точка с запятой завершает код