Symfony 5 Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный знак '?' В C: \ Users \ public \ index.php в строке 15
Я пытаюсь начать новый проект на symfony 5 simple. Когда я запускаю сервер "symfony server: start", я получаю такой ответ: Ошибка синтаксического анализа: ошибка синтаксиса, неожиданный знак '?' В C:\Users\Philippe\Documents\my_project_name\public\index.php в строке 15. У меня есть windws 10, PHP 7.4.3, wamp server, но он выключен.
2 ответа
Ответ прост. Php5.6 не поддерживает нулевой оператор объединения (??). Этот оператор доступен на PHP7+ (php.net)
Решение 1:
- Обновите свою версию PHP до ^7
Решение 2:
Изменить код
PHP 7+
$username = $loggedUser ?? 'nobody';
PHP 5.6
$username = isset($loggedUser) ? $loggedUser : 'nobody';
оба эквивалентны, возвращать зарегистрированного пользователя, если установлено, в противном случае - никто.
В выводе говорится, что вы используете "PHP cgi v5.6.40". Пробегsymfony local:php:list
и посмотрите, что доступно для запуска. Вам необходимо установить PHP 7.4 как php-fpm (если он доступен в WAMP) или php-cgi. Сервер Symfony не может использовать версию cli для запуска веб-страниц.
symfony local:php:refresh
также может помочь или установить другие версии PHP.
> symfony local:php:list
# You'll see all supported SAPIs (CGI, FastCGI, etc.) for each version.
# FastCGI (php-fpm) is used when possible; then CGI (which acts as a FastCGI
# server as well), and finally, the server falls back to plain CGI.
из: https://symfony.com/doc/current/setup/symfony_server.html