Laravel: PHP Parse error: синтаксическая ошибка, неожиданное '?'в /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php в строке 500 - PullRequest
0 голосов
/ 12 декабря 2018

Поскольку я обновил свою версию php с 5.6 до 7.2, у меня есть постоянная ошибка в моем файле php_errors.log: PHP Parse error: syntax error, unexpected '?' in /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 500

В строке 500:

return $factory->of($arguments[0], $arguments[1])->times($arguments[2] ?? null);

Я ищу это в stackoverflow, и основная причина - сервер, все еще использующий php5.6, но я думаю, что это не причина.Платформа - Laravel 5.7, и, очевидно, все работает нормально.

Если я запускаю php -v из терминала, я получаю PHP 7.2:

PHP 7.2.12-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 12 2018 09:55:12)(NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.12-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Некоторые вопросы по stackoverflowпредлагаем добавить phpinfo, чтобы показать версию php, используемую системой, и на самом деле она правильная:

php info from my platform

Даже если я попытался отключить старую версию,Сервер говорит, что php5.6 уже отключен:

Module php5.6 already disabled

При отключенном php5.6 и включенном php 7.2, что может быть причиной этого?

Спасибозаранее.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

эта проблема возникает из-за того, что ваш путь к версии по-прежнему равен 5.6. Установите его 7.2

// ПЕРЕКЛЮЧЕНИЕ между версиями php

sudo update-альтернативы --set php / usr / bin / php5.6

альтернативы обновления sudo --set phar /usr/bin/phar5.6

альтернативы обновления sudo --set phar.phar /usr/bin/phar.phar5.6

sudo a2dismod php7.2

sudo a2enmod php5.6

// Переключиться на php 7.2

sudo update-альтернативы --set php / usr /bin / php7.2

альтернативы обновления sudo --set phar /usr/bin/phar7.2

альтернативы обновления sudo --set phar.phar / usr / bin / phar.phar7.2

sudo a2dismod php5.6

sudo a2enmod php7.2

0 голосов
/ 12 декабря 2018

Проблема решена с перезагрузкой сервера, как предложено @MonkeyZeus.Очевидно, что-то не складывалось после обновления как PHP, так и Laravel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...