摘要
記錄一次項目的 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
裏的配置參考:
安裝 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
,我在這裏使用過 redis
或 database
,根據配置選就可以了。
再通過在任務類上設置對應 connection
屬性後,異步執行正常。