關於 redis 的 composer update

摘要

記錄一次項目的 composer update

背景

composer 負責 PHP 項目的依賴管理。當需要升級依賴時,執行「composer update」會根據文件 composer.json 裏的信息進行升級,並在升級安裝成功後修改文件 composer.lock

項目由 Laravel 5.6 升級到 ~6.8,涉及到 PHP 項目中 redis 的使用。

主要根據 Laravel 中文文檔 的升級說明進行。

配置升級信息

可手動修改文件 composer.json 裏的信息,也可通過命令安裝或刪除依賴,比如:

composer require predis\predis ~1.1
composer remove predis\predis

predis or phpredis

laravel ~6.8 裏,稱 PHP 的 redis 擴展爲 phpredis,稱 composer 的 redis 依賴爲 predis
兩者可選擇其一使用。
觀點一:composer 的 predis\predis ^1.1 已經停止維護,不推薦使用。
觀點二:此依賴趨近“完美”,在 PHP 內核未有大改動之前,不需要維護更新,即可繼續使用 predis

laravel ~6.8 裏的配置參考:

  1. (已經解決) Laravel Redis predis 切換到 phpredis
  2. 在 Laravel 6 中使用 predis 而不用教程中的 phpredis

安裝 phpredis

注意 PHP 的版本。
注意 PHP 的版本。
注意 PHP 的版本。

推薦:

pecl install redis

香。

PECL is a repository for PHP Extensions, providing a directory of all known extensions and hosting facilities for downloading and development of PHP extensions.

Laravel 5.6 -> 5.7

只能說,這麼巧,遇見了影響的可能性爲 的情況。
官方升級說明 其中的「調度任務鏈接 & 隊列」。
因爲我的項目中,用到命令:

# Laravel 5.6
artisan queue:work

# Laravel 5.7
artisan queue:work redis

並且使用 supervisorctl 管理此命令,所以原本異步執行的事件變得同步。因爲 5.7 版本的需要指定 隊列的連接的名稱 $connection ,我在這裏使用過 redisdatabase ,根據配置選就可以了。

再通過在任務類上設置對應 connection 屬性後,異步執行正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章