跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • PHP composer 安装 thinkphp 报错问题, 求助(急)
未分類
28 10 月 2020

PHP composer 安装 thinkphp 报错问题, 求助(急)

PHP composer 安装 thinkphp 报错问题, 求助(急)

資深大佬 : edk24 1

服务器以前有个 php5.4, 后面加了个 php7.3

用 composer 自动定位 5.4, 导致我 tp5.1 无法安装依赖, 现在用网上这个方式安装。 其他都 ok 了。 tp 却安装不上了

着急。。。

[[email protected] star]# /usr/local/php/bin/php composer.phar install Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`. Package operations: 1 install, 0 updates, 0 removals   - Downloading topthink/framework (v5.1.40)   - Installing topthink/framework (v5.1.40): Extracting archive     Failed to extract topthink/framework: (9) unzip -qq  '/home/wwwroot/star/vendor/composer/tmp-7ea691416e557dbb8cb8858815b4c4ef' -d '/home/wwwroot/star/vendor/composer/bd3e9c7b'                                                                                                                                                                                                                       unzip:  cannot find or open /home/wwwroot/star/vendor/composer/tmp-7ea691416e557dbb8cb8858815b4c4ef.                                                                                                                                                                                                                                                                                                                                            This most likely is due to a custom installer plugin not handling the returned Promise from the downloader     See https://github.com/composer/installers/commit/5006d0c28730ade233a8f42ec31ac68fb1c5c9bb for an example fix Package endroid/qrcode is abandoned, you should avoid using it. Use endroid/qr-code instead. Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead. Generating autoload files 10 packages you are using are looking for funding. Use the `composer fund` command to find out more!  

大佬有話說 (31)

  • 資深大佬 : dilu

    你这个错怎么看都不像是因为 php 版本报出来的啊

    加上 –no-plugins 参数试试?

  • 主 資深大佬 : edk24

    已解决,composer 版本太新,换成 1.10x 就可以了。去 composer 官网下载低版本的

  • 主 資深大佬 : edk24

    @dilu 已解决,谢谢

  • 資深大佬 : Seanfuck

    真是时代变了,我还是喜欢手工下载代码解压,php 用什么鬼 composer,就跟 js 用什么鬼 npm 一样,一堆问题,没见什么优点。

  • 資深大佬 : skymei

    @Seanfuck 那你确实是老了,composer 让 PHP 的包管理好用不少

  • 資深大佬 : agdhole

    @Seanfuck #4 现代开发包管理都是必备了吧

  • 資深大佬 : Seanfuck

    @skymei 但这个没有手工的可靠

  • 資深大佬 : Mitt

    @Seanfuck #4 “一堆问题” 莫名其妙,就跟 linux 装个啥软件都网上一堆教程教你如何手工编译安装一样,人家本来就有稳定版的包 apt install 就装完了还非得自己编译出一堆问题怪 linux 太复杂,除非有需要,否则谁还会把时间浪费在这上面

  • 資深大佬 : Mitt

    “unzip: cannot find or open /home/wwwroot/star/vendor/composer/tmp-7ea691416e557dbb8cb8858815b4c4ef.” 这一行报错最主要,要么就是下载失败了,要么就是文件占用权限问题,降级 composer 应该是顺便清了缓存所以才好的,应该多花点时间了解一下具体原因的,千万不要直接甩锅

  • 資深大佬 : hbolive

    Composer 实现了一键包安装、版本依赖解析、自动加载,是现代 PHP 的基石。从此 PHP 迎来了大统一时代。如今,不仅是框架,任何 PHP 项目,都可以使用 Composer 安装项目所需要的库包。

  • 資深大佬 : Seanfuck

    @Mitt 我说的就是这个 install 一堆问题!正好你说了编译问题,如果 install 一下能解决问题,谁愿意去编译,现实中就是有很多情况需要编译。再说回来,你发布 php 项目是 install 好一起发布还是线上再 install ?大家的习惯一样吗?如果线上机器因为安全或管理原因不能连外网,这时如果要 install 如何方便的处理?

  • 資深大佬 : Seanfuck

    @agdhole 如果是包管理确实必备,但 php 的( Js 也一样)这个包方式有些别扭,如果是类似编译成二进制的方式那就没问题。

  • 資深大佬 : JaguarJack

    @Seanfuck composer 问题还多?从没遇到过

  • 資深大佬 : Mitt

    @Seanfuck #11 线上 install,如果你不能连外网那肯定另当别论,但凡不是网络问题都不应该把包一起打包上去,而且现在都是 docker 镜像了就更没这个问题了,而且如果 install 都有问题,那你系统环境就已经是有问题的了,这就不能怪包管理器了,应该先解决环境问题不然就算你自己编译也照样会有一大堆问题

  • 資深大佬 : ben1024

    @Seanfuck 源码的包相对方便改造和断点

  • 資深大佬 : hsk9044

    @Seanfuck 时代是会变的, 观念是要更新的. 手工安装局限性太大了, 新技术的产生是为了提高效率的, 大家少在这种事情上花时间, 不就有更多的时间可以摸鱼了, 何乐不为

  • 資深大佬 : topthink

    ThinkPHP 全版本都已经兼容 Composer2 了的哦

  • 資深大佬 : Seanfuck

    @hsk9044 是这样,这里讨论存在的问题,整体效率怎样。
    @ben1024 没错,这是正常情况,“包”改造后经常有人没处理好,后面就被覆盖了。
    @Mitt 运维可以把问题推给你,你的代码为什么还要他来装(这点 JS 做得好些,可以 build 最终结果,PHP 看起来是让运维去做 build ),这就是一堆问题之一。如果你全包进 docker 那是没问题。

  • 資深大佬 : Mitt

    @Seanfuck #18 我觉得这不是运维的问题,这是你的问题。。。事实上编译环境是开发提供的,运维只是执行编译命令而已,放到以前 PHP 等这些环境也是要运维去装的,composer 就是为了减少问题才存在的,现在 docker 更是全套自己包了,运维干的事情已经很少了,要改变下思维了

  • 資深大佬 : Seanfuck

    @Mitt 如果执行“开发给的”命令可靠怎么会存在题主的问题?运维安装环境是装运行环境,不是装代码,如果运维也出现题主的问题,那是不是多了麻烦事?再比如你的代码是给客户用的,客户连运维也没有,是不是每次都得找你?再比如客户的服务器是虚拟空间没有命令权限,装不了那只能怪客户了? PHP 用 docker 的比例不高,如果 80%的网站用 php,里面用 docker 的占多少?与时俱进是没错,但要正视存在的问题,抛开传统方式的 PHP 站点,那些改变思维的市场率不知还剩多少?

  • 資深大佬 : Mitt

    @Seanfuck #20 所以说这是你的问题,不是技术的问题

  • 資深大佬 : emeab

    @Seanfuck php 不是编译型语言 为什么包要编译成二进制. 你用包都不看源码和实现的吗

  • 資深大佬 : emeab

    @Seanfuck tp6.0 引用了 7 个包。 如果不用 composer 还要处理版本问题。

  • 資深大佬 : Seanfuck

    @emeab 那用低版本好了

  • 資深大佬 : Seanfuck

    @emeab 不是这个意思……

  • 資深大佬 : Seanfuck

    @Mitt 那行,我就不再回复你了。

  • 資深大佬 : dvaknheo

    @Mitt 线上 install 是错误的用法。发布的时候直接复制做好的包就够了。
    composer 的离线功能做得不够好。 没有完全离线的命令.
    甚至有人都不知道可以使用本地第三方作为包。

  • 資深大佬 : dvaknheo

    php5 时代的框架,没有一个不被魔改的
    composer 结束了系统库被魔改这一种烂现象。

  • 資深大佬 : dvaknheo

    @emeab 才 7 个包的框架能实现什么功能,laravel 用 101 第三方个包,带动了产业大发展 (手动狗头)

  • 資深大佬 : RickyC

    https://blog.class4ever.com/2712.html

    这是一个修改 composer 对应 php 版本的方法, 在宝塔面板环境实操过

    可以参考

  • 主 資深大佬 : edk24

    感谢大家的回复,现在问题是总结出来了,无法下载是因为我用了最新的 composer2,tp 的包还没有兼容这个新版本改动; 切换回旧版本就可以了。

    关于用 composer 的问题, 我个人是觉得很好用, 很方便, 要用什么东西直接用, 不需要这里引入一个文件哪里映入问题, 服务器上下载包用镜像就可以了。 这次是出问题在 composer 新版特性上;

    优点是专注敲业务, 不需要管很多东西的实现,只需要引用就可以了,并且 git 是自动忽略依赖文件的,所以 git 仓库里只有业务代码, 没有多余的乱七八糟的文件。

    这个是我个人的想法,
    @Seanfuck
    @skymei
    @agdhole
    @Mitt
    @hbolive
    @JaguarJack
    @ben1024
    @hsk9044
    @emeab
    @dvaknheo
    @RickyC

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具