写PHP依赖管理,记住一条铁律:别碰 composer update

Composer PHP依赖管理教程_Composer安装PHP扩展包方法【基础篇】

直接给结论:安装 PHP 扩展包,老老实实用 composer require。千万别随手敲 composer update,否则很可能连带升级其他依赖,线上行为当场翻车。

为什么必须用 composer require 而不是 composer update

composer require 其实就干三件事:写入 composer.json、把包下载到 vendor/、更新 composer.lock。它不会重新计算整个依赖图,也不动那些已经锁定的版本,安全可控。

composer update(尤其是不带任何参数)会强制重新解析所有依赖。哪怕你只想加一个 monolog/monolog,它也可能顺手把 lara vel/framework 从 10.42 升到 10.43——别小看这个小版本号,里面可能改了队列重试逻辑或中间件执行顺序,线上立刻抽风。

最佳实践很简单:

composer require 执行前必须确认的三件事

明明没报错,但包就是没装上?大概率卡在这三个地方:

装完类找不到?不是没装上,是没注册或没刷 autoload

composer require 成功 ≠ 开箱即用。最常见的情况是:报 Class 'Socialite' not foundFacade does not existCaptcha::create() undefined。别慌,大概率是下面这几个原因:

版本写错、镜像超时、PHP 不匹配——最常卡住的三个实际坑

如果报 Package not foundYour requirements could not be resolved,别急着换源,先排查这三样:

最后提醒一个容易被忽视的安全问题:vendor/ 目录如果放在 Web 可访问路径下(比如和 index.php 同级),攻击者可以直接下载 vendor/composer/installed.json,暴露你项目里所有依赖的版本信息。务必把 Web 服务器root 指向 public/,而不是项目根目录。

本文转载于:https://www.php.cn/faq/2464532.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。