使用 composer 无法安装 thinkphp 低版本依赖

2025年12月16日服务端开发6125,172字数 695阅读2分19秒阅读模式

公司服务器一直在用 php7.4,最近的项目如果依赖 thinkphp 的,使用 composer install 总是会报错:

Your requirements could not be resolved to an installable set of packages.

上一次使用 php8.5 安装了一个项目,确实没有这个问题,但是框架中一堆旧代码需要手动修改,就很扯,所以这一次决定无论如何,也要解决这个问题。

最近发现 ai 用习惯了,都不知道如何解决问题了。

这次特意留意看了下命令行中的错误提示:

  Problem 1
    - Root composer.json requires topthink/framework ^6.0.0, found topthink/framework[v6.0.0, ..., v6.1.5] but these were not loaded, because they are affected by security advisories. To ignore the advisories, add ("PKSA-wpgp-v5cy-4kds") to the audit "ignore" config. To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.

其实大概看下,就知道解法,因为提示明确说了,你可以关闭这个安全特性,只要在 audit 配置中,设置 block-insecurefalse 即可。

根据提示,修改下 composer.json 文件,添加对应配置:

image-20251216123834369

再用 composer install安装,thinkphp 6.1 也可以正常被安装了。

image-20251216123945300

评论  6  访客  4  作者  2
    • 逐光 8

      我看了你其他文档:https://doc.shejibiji.com/backend/docker.html 中的Docker Compose 和我师傅说的不一样,
      有了挂载点docker-compose.yml不是想丢哪丢哪吗

        • 小笔

          @ 逐光 你说的应该是对的,以前写的文档了,docker-compose 时指定好正确的 yml 文件位置应该是不会有问题的。

        • 逐光 8

          博主你好,生产项目不能动,扩展新项目,需要引入第三方sdk,由于php版本也是比较低, 所以composer 安装sdk得时候会出错,这种除了手动引入有没有更好得办法,如果手动引入需要注意哪些坑?

            • 小笔

              @ 逐光 听起来你只要按照该文章的方法避免安全检查就可以安装。
              如果是别的错误可能要针对性的调整。
              手动引入也可以,用起来都是一样的,不过需要在composer文件配置一下,以让composer能正确加载。

              • Es先驱 8

                @ 逐光 如果是正在生产环境中老项目,不建议直接composer安装, 你执行composer 可能会带来一些以来冲突,而且保不准你在本地可以,生产不行的尬尬,
                手动分两种:
                第一种就是还是走自动加载类 也就是sdk下载下来然后 调整一下composer配置文件,然后dump-autoload 一下, 不影响你原来的映射,改之前最好把你的vendor 备份一下, 防止有问题回滚,
                第二种就是,直接引入类 到你使用的地方,你要做的就是 小心路径,命名空间,sdk 类之间的依赖,版本比较低的话有一些sdk最低的版本可能都会带一些php高级语法,你可能需要还要微调一下,

              • asd 8

                敢用8.5的都是猛人现在

              发表评论

              匿名网友

              :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

              确定