Ошибка разбора Laravel: синтаксическая ошибка, неожиданный T_CLASS, ожидаемый T_STRING или T_VARIABLE
После установки laravel мы получаем ошибку:
Ошибка разбора: синтаксическая ошибка, неожиданный T_CLASS, ожидаемый T_STRING или T_VARIABLE или '$' в C:\xampp\htdocs\laravel\public\index.php в строке 50
4 ответа
Laravel 5.1 использует ::class
свойство, чтобы получить строковые представления полного имени класса. Ошибка, которую вы видите, вызвана этой строкой
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
Эта языковая функция была введена в PHP 5.5, которая является требованием Laravel 5.1. Ваша установленная версия PHP, вероятно, старше, чем 5.5. Попробуйте обновить бинарный файл PHP.
Если вы заинтересованы в том, почему ::class
используется, посмотрите на этот ответ
То же самое случилось со мной тоже. Я обнаружил, что веб-сервер использует мою старую версию PHP 5. Чтобы решить это для меня, я сделал это -
sudo a2dismod php5
sudo a2enmod php7.0
sudo service apache2 restart
Ваша версия php слишком низкая. Попробуйте версию 7.0 или позже php.
Ваша версия PHP на вашем Xampp ниже 5.5.9, как указано в документе Laravel 5.1.
Просто удалите текущее программное обеспечение Xampp и загрузите свежую копию на веб-сайте Apache с этой спецификацией 5.6.12 / PHP 5.6.12.
Не забывайте сотрудничать с вашим хост-провайдером, чтобы ваша учетная запись хостинга работала с требуемой версией PHP (>=5.5.9) во время развертывания вашего приложения Laravel 5.1 онлайн.
Перейдите к строке 50 и убедитесь, что точка с запятой завершает код
Я столкнулся с той же ошибкой, но ошибка была в строке 10 app /User.php. На самом деле, строка 10 была в порядке, но до строки 10 мне не хватало синтаксиса php.
После исправления синтаксическая ошибка php была исправлена. Поэтому вам нужно внимательно проверить C:\xampp\htdocs\laravel\public\index.php в строке 49, я уверен, что что-то не так. Попробуй поправить. Это будет исправлено.