【问题标题】:Composer update or install issueComposer 更新或安装问题
【发布时间】:2021-09-03 17:10:27
【问题描述】:

我有一个自 2020 年 8 月以来成功运行的 Web 应用程序。现在我想添加 milon 条形码包,它在本地服务器中成功运行,这就是为什么我需要在 cpanel 终端中运行 coposer install 或 update 命令。但显示出一些问题。

注意 Laravel 5.8 版,composer 2.0.6 版,php 7.4 版。

当我尝试运行 composer install 时显示error

PHP 致命错误:未捕获的 ErrorException:proc_open():无法创建管道 phar:///opt/cpanel/composer/bin/composer/vendor/symfony/console/Application.php:952 中打开的文件太多

当尝试运行composer update

从 dist 下载 phpoption/phpoption 失败:getaddrinfo() 线程启动失败

当尝试运行composer self-update

[作曲家\下载器\文件系统异常] 文件系统异常: Composer 更新失败:无法写入“/opt/cpanel/composer/bin/composer”。 重命名(/opt/cpanel/composer/bin/composer):无法打开流:权限被拒绝

【问题讨论】:

  • 请分享更多详细信息,例如文本形式的错误消息以及您解决问题的尝试。 “打开的文件太多”看起来像是您的系统有问题 - 您能分享更多有关此问题的详细信息吗?为什么不在您的部署过程中运行composer install,这样您甚至不必在生产系统上安装 Composer?
  • 在本地服务器中,我安装了用于生成条形码的 milon/barcode 包。在 live server/cpanel 中,我拉动并运行 {composer update} 来激活这个包。但我没有完成并显示一些错误
  • 打开的文件太多”和“getaddrinfo() 线程无法启动” - 这些听起来像是操作系统或硬件问题,与PHP 或作曲家。您可以重新启动机器并重试吗?也许是您的软管供应商的问题。
  • composer update 不会激活任何包,它甚至会更改composer.lock 中列出的版本,这样您就无法确定您是否已经针对您使用的相同包版本测试了您的代码在生产中

标签: laravel terminal composer-php cpanel


【解决方案1】:

您需要启用 proc_open 请按照 cPanel 中的说明进行操作

Software > MultiPHP INI Editor > Editor Mode

选择您的 PHP 版本并搜索 (disable_functions)

disable_functions = "proc_open,..., ..."

现在从列表中删除 (proc_open) 并保存。

否则,请联系您的托管服务提供商以启用 proc_open

【讨论】:

    【解决方案2】:

    尝试使用此命令

    composer update --no-scripts
    

    【讨论】:

    • 同样的错误'从 dist 下载 symfony/css-selector 失败:getaddrinfo() 线程启动失败。'
    猜你喜欢
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 2014-10-04
    • 2013-08-26
    • 1970-01-01
    • 2018-05-13
    • 2019-08-05
    • 1970-01-01
    相关资源
    最近更新 更多