Использование Laravel на php 7.0
Я установил Laravel 5.5 и получаю ту же ошибку, документация говорит об этом:
- PHP> = 7.0.0
- Расширение OpenSSL PHP
- PDO PHP расширение
- Расширение Mbstring PHP
- Расширение Tokenizer PHP
- Расширение XML PHP
Я побежал:
$ php artisan --version`
$ Laravel Framework 5.5.42
и я получаю эту ошибку:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_PARSE)
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)
Документация неверна? Я использую: https://laravel.com/docs/5.5/installation Мой сервер может использовать только PHP 7.0. Не 7.1. Разве нет возможности запустить Laravel на 7 больше?
Я устанавливаю через композитор.
Есть ли способ скачать совместимую версию с 7.0?
3 ответа
Если у вас PHP 5.5 (на самом деле 5.5.9 или выше), вы должны использовать Laravel 5.2.
Если у вас PHP 7.0, вы можете использовать Laravel 5.5.
Ошибка, о которой вы упомянули, заключается в том, что вы используете PHP 5.5, который не поддерживает оператор объединения нулей в PHP 7 (??), и он используется где-то в коде Laravel.
Как вы сказали, ваш сервер поддерживает PHP 7.0, в вашей системе может быть установлено более одной версии PHP. Проверьте версию PHP работает php --version
,
Это была проблема со стеком Symfony Translation, мне пришлось отключить на данный момент, также я понизил пакет углерода, чтобы он заработал, не знаю почему. Он имеет некоторый код php7.1.
Проблема может заключаться в том, что версия PHP для командной строки отличается от версии PHP для Apache. Бежать php --version
и убедитесь, что вы используете PHP 7.0.0 или выше.
Laravel 5.5. * Не имеет проблем с работой на PHP 7.0.*. В настоящее время у меня есть проект под управлением Laravel 5.5.43 на PHP 7.0.15, и эта проблема не возникает.
Если версия PHP для командной строки не устарела или у вас есть доступ к нескольким версиям PHP, вам следует обратиться за помощью к вашему хостинг-провайдеру. Вы также можете запустить команду, подобную следующей, чтобы увидеть, можете ли вы получить доступ к другой версии PHP:
locate bin/php
Вышесказанное может дать вам представление о месте установки. Например, я вижу три разные версии PHP, но версия по умолчанию (/usr/bin/php
) 7.0.15:
/opt/cpanel/ea-php56/root/usr/bin/php
/opt/cpanel/ea-php70/root/usr/bin/php
/opt/cpanel/ea-php71/root/usr/bin/php
/usr/bin/php