Я работаю над Laravel 5.4 с версией PHP 5.6.4. Моя цель - обновить свой проект до Laravel 5.7 с PHP 7.1.
Теперь мой вопрос: нужно ли мне переходить на 5.5> 5.6> 5.7 или я могу сразу перейти с 5.4 на 5.7?






Есть несколько статей по документации. Вы можете выполнить обновление до 5.7 напрямую, но обязательно измените критические разделы по этим ссылкам 5,5 -> 5,6, 5,6 -> 5,7. И сначала сделайте резервную копию текущего проекта
Нет, не стоит обновляться поэтапно, только вы можете сделать это: https://laravel.com/docs/5.7/upgrade
Ничего страшного. вам нужно перейти в «composer.json» и отредактировать «laravel / framework»: «5.4. *» на «laravel / framework»: «5.7. *» для обновления laravel. перед этим проверьте в командной строке свою версию php. другая задача есть шаг за шагом на странице документа. если у вас есть другие вопросы, вы можете написать мне по электронной почте, я помогу вам
Не могли бы вы объяснить дальше, почему не следует обновляться поэтапно? ИМХО, помогло бы устранить возможные ошибки
@HamidNaghipour Пожалуйста, запустите все коммуникации здесь, чтобы другие могли им воспользоваться. Если у вас есть еще вопросы, не стесняйтесь открывать новый вопрос
@NicoHaase Речь идет о совместной удаленной работе, а не о вопросах. хорошо, я удаляю свои комментарии.
Лучше сначала обновить 5.5, а затем перейти на 5.6 и 5.7, потому что, если вы видите в руководстве по обновлению 5.5 и 5.6, некоторые пакеты также необходимо обновить, поэтому вам лучше идти пошагово.
Для более старых версий вы можете посмотреть
Просто обновите свою зависимость laravel/framework до 5.7.* в вашем файле composer.json:
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.7.*",
"laravel/tinker": "^1.0"
},
После этого запустите эту команду в командной строке: composer update
Вы добьетесь успеха, и ваша личинка изменится на версия 5.7, более подробная информация доступна на руководство по обновлению
Если я это сделаю, то получу ошибку Your requirements could not be resolved to an installable set of packages. У меня PHP 7.1.20
@Michael Поделитесь, пожалуйста, кодом вашего файла composer.json
.... и поделитесь точным журналом ошибок. Скорее всего, он расскажет вам о конфликтующих пакетах.
С моей точки зрения, пошаговое обновление помогло бы. Это помогает увидеть, совместимо ли уже ваше приложение со всеми изменениями, которые необходимо внести.
Если вы обновляетесь до 5.7 напрямую и сталкиваетесь с более серьезными проблемами из-за изменений, самый быстрый вариант - снова перейти на версию 5.4.
Если вы обновитесь до 5.5 на первом этапе, вы можете сделать свое приложение совместимым с 5.5, тщательно протестировать его, развернуть и начать тестирование, что нужно сделать для обновления до 5.6.
Просто обновите зависимость laravel / framework до 5.7. * В файле composer.json. Поскольку вы обновляетесь с 5.4 до 5.7, вы можете легко запустить
composer update
И если вы изменили некоторые черты или методы Laravel в своем приложении 5.4, вы можете проверьте здесь для получения дополнительной информации
Вы можете просто обновить зависимость laravel / framework до 5.7. * В файле composer.json.
1. изменение в composer.json:
Из:
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0"
},
К:
"require": {
"php": ">=7.1.3",
"fideloper/proxy": "~4.0",
"laravel/framework": "5.6.*",
"laravel/tinker": "~1.0"
},
2. Замените файл app \ Http \ Middleware \ TrustedProxies.php содержимым ниже:
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies;
/**
* The headers that should be used to detect proxies.
*
* @var string
*/
protected $headers = Request::HEADER_X_FORWARDED_ALL;
}
3. обновление композитора
composer update
Можете ли вы объяснить, почему нужно заменить какой-то произвольный файл?
В этом руководстве по обновлению TrustProxies вообще не упоминается. Итак, вы можете это объяснить?
Из-за основных изменений в функциональности доверенного прокси-сервера Symfony HttpFoundation необходимо внести небольшие изменения в промежуточное ПО App \ Http \ Middleware \ TrustProxies вашего приложения. Свойство $ headers, которое раньше было массивом, теперь является битовым свойством, которое принимает несколько разных значений. Например, чтобы доверять всем перенаправленным заголовкам, вы можете обновить свойство $ headers.
Пожалуйста, добавляйте такую информацию в ответ, а не в раздел комментариев. И если вы копируете и вставляете информацию, пожалуйста, укажите источник - laravel.com/docs/5.6/upgrade содержит ваш последний комментарий слово за словом
да, спасибо .. если у вас есть ссылка, по которой вы получили информацию, тогда почему вы спросили меня, мама?
Для обновления Laravel 6.x (что означает любые подверсии к V6)
Просто запустите эту команду
cd [laravel installation directory]composer update
У вас должен быть установлен композитор на вашей виртуальной машине или ПК.
Каталог Composer должен принадлежать текущему пользователю
//Check ownership
ls -la ~/ | grep ".composer"
//If you don't own the directory
chown -R [user]/[user] ~/.composer
Напишите мне в любой социальной сети @smitpatelx Или оставьте комментарий, если вам нужна помощь или если ваш вариант использования отличается от приведенного выше.
Честно говоря, я не понимаю документацию по обновлению. Нужно ли мне изменить версию в моем файле composer.json и выполнить обновление композитора? Мне нужно изменить исходный код фреймворка Laravel? Или это просто пояснительная информация на странице документации по обновлению?