当系统中安装了多个php版本时,如何使用pecl为特定php版本安装php扩展?

2023-12-28

我已经根据本手册在 Ubuntu 上从 PPA 安装了 php5.6 和 php7.0

http://lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu http://lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu

但我不知道如何使用安装扩展pecl适用于 php5.6 或 php7.0。

例如我已经安装了以下版本libevent or amqp在php5.6中。

现在当我打字时pecl install libevent我的活动 php 版本是 php7.0 (使用update-alternatives --set php /usr/bin/php7.0),peclreturns message thatlibevent` 已经安装。

但它只为 php5.6 安装(当该版本处于活动状态时),现在我想为 php7.0 执行此操作。

哪些命令可以帮助我?

UPD

我发现这个命令用于将 pecl 切换到 php7.0 并将它们打包到可执行的 bash 脚本中:

#!/bin/bash

sudo update-alternatives --set php /usr/bin/php7.0

sudo pecl config-set php_ini /etc/php/7.0/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20151012/
sudo pecl config-set bin_dir /usr/bin/
sudo pecl config-set php_bin /usr/bin/php7.0
sudo pecl config-set php_suffix 7.0

对于 php5.6

#!/bin/bash

sudo update-alternatives --set php /usr/bin/php5.6

sudo pecl config-set php_ini /etc/php/5.6/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20131226/
sudo pecl config-set bin_dir /usr/bin/
sudo pecl config-set php_bin /usr/bin/php5.6
sudo pecl config-set php_suffix 5.6

但他们没有帮助,pecl 仍然给我list已经安装了 php5.6 的扩展,即使我切换到 php7。

pecl list
Installed packages, channel pecl.php.net:
=========================================
Package  Version State
amqp     1.7.1   stable
libevent 0.1.0   beta
stats    1.0.3   stable

php7.0 应该是空的!

如何解决问题?

UPD

对于 amqp,我刚刚安装了 php-amqp 包,没有使用 pecl。

apt-get install php-amqp

php7 中 libevent 仍然不存在。 但我还没有找到在 5.6 和 7 版本之间切换 pecl 安装的方法,所以问题仍然存在。


当我尝试编写这个脚本时,以下是最适合我的方法(以防其他人像我一样遇到这个问题):

$ pecl -d php_suffix=5.6 install <package>
$ pecl uninstall -r <package>

$ pecl -d php_suffix=7.0 install <package>
$ pecl uninstall -r <package>

$ pecl -d php_suffix=7.1 install <package>
$ pecl uninstall -r <package>

The -d php_suffix=<version>片段允许您在运行时设置配置值,而不是使用预先设置它们pecl config-set. The uninstall -rbit 实际上并没有卸载它(来自文档):

vagrant@homestead:~$ pecl help uninstall
pecl uninstall [options] [channel/]<package> ...
Uninstalls one or more PEAR packages.  More than one package may be
specified at once.  Prefix with channel name to uninstall from a
channel not in your default channel (pecl.php.net)

Options:
  ...
  -r, --register-only
        do not remove files, only register the packages as not installed
  ...

卸载行是必要的,否则安装它将删除任何以前安装的版本,即使它是针对不同的 PHP 版本(例如:如果软件包仍注册为已安装,安装 PHP 7.0 的扩展将删除 5.6 版本)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当系统中安装了多个php版本时,如何使用pecl为特定php版本安装php扩展? 的相关文章

  • PHP 7.2 计数错误

    警告 count 参数必须是数组或对象 实现 Countable in 我在以下行中收到上述错误 if 0 gt count this gt xprop 有人可以帮助我理解这一点吗 我对 PHP 还很陌生 问题显然是 this gt xpr
  • Nginx 作为负载均衡器,具有 75% 和 25% 加权路由

    我是 Nginx 新手 我有两台服务器 serverA 和 serverB 我希望 75 的请求发送到 serverA 其余 25 的请求发送到 serverB 这可能吗 使用nginx加权路由 stream upstream stream
  • IMAP 和 PHP - 从已发送文件夹和收件箱文件夹中获取所有电子邮件

    我正在尝试获取接收和发送的所有电子邮件 并使用 PHP 将其写入 mySQL 数据库 我使用的主机名是 hostname imap gmail com 993 imap ssl INBOX 它仅引用收件箱 并成功抓取收到的电子邮件 为了抓取
  • 我可以在 php 中的 SESSION 数组上使用 array_push 吗?

    我有一个想要在多个页面上使用的数组 因此我将其设为 SESSION 数组 我想添加一系列名称 然后在另一个页面上 我希望能够使用 foreach 循环来回显该数组中的所有名称 这是会议 SESSION names 我想使用 array pu
  • php - 致命错误:调用 AppServ 中未定义的函数 mcrypt_get_iv_size()

    当我通过以下方式使用 mcrypt get iv size 函数时发现一个问题AppServ https www appserv org 我尝试寻找与解决问题相关的主题 但是 我尝试将 libmcrypt dll 下载到 symtem32
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 根据product_id获取magento产品的浏览次数

    我想在 Magento 的类别列表页面上显示查看计数 这些数据看起来过去可以通过 reports product collection 访问 但我找不到正确访问它的方法 我基本上想提供一个产品 ID 并获取返回给我的所述产品的观看次数 您可
  • 通过 PEAR 安装 PHPUnit

    我安装时遇到问题PHPUnit 3 4 6 via 梨1 9 0 当我发现频道后pear phpunit de并尝试使用以下命令之一 pear 安装 phpunit PHPUnit pear 安装 alldeps phpunit PHPUn
  • 统计数据库中的注册用户数

    我想反映在我的网站上注册的人数 只有我拥有的代码不起作用 它让我知道它不可能 转换为字符串 另外 当我将其设置为在 HTML 中调用的函数时 我收到 connection 未定义的错误 require once connect php sq
  • 在 ubuntu 中找不到 .android 文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在哪里可以找到 android在 Ubuntu 中 我想使用debug keystore 转到您的主文件夹并按 ctrl h 瞧
  • Symfony2 实体字段在选项为空时显示所有条目

    我的 Symfony2 项目中有一个实体类型表单字段 builder this gt createFormBuilder projects this gt getProjects builder gt add project entity
  • SQL 查询结果为字符串(或变量)

    是否可以将SQL查询结果输出到一个字符串或变量中 我的php和mysql不好 假设我有数据库 agents 其中包含列 agent id agent fname agent lname agent dept 使用此查询 sql SELECT
  • POSTed 数组保留其值

    今天 我注意到我的一个 WordPress 安装的行为方式非常奇怪 每当我从仪表板更新帖子时 它的一些额外输入都会保留它们已有的值 所有这些都是多维数组 例如 post php post 123 action 编辑
  • Eclipse Kepler 在 64 位 ubuntu 上冻结

    几天前我刚刚将 Ubuntu 升级到 14 04 并在此过程中从 32 位切换到 64 位 从那时起 Eclipse 就变得非常不稳定 运行几分钟后 它将开始随机冻结越来越长的时间 特别是在代码完成时 已经必须禁用它 而且在剪切 粘贴时 偶
  • 即使在双引号内或使用 PHP_EOL,PHP echo 也不打印换行符

    这是一张照片剪辑 我认为它很清楚 这真让我抓狂 我似乎无法让 php 在我的本地主机 使用 xampp 或在线 PHP 解释器上打印换行符 如果你想在 php 中使用 HTML 标签 试试这个 echo dkljaks aalksja kl
  • 从 URL 任何文件类型创建图像

    我知道imagecreatefromgif https www php net manual en function imagecreatefromgif php imagecreatefromjpeg https www php net
  • Symfony VS CakePHP:哪一个最接近 PHP [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我主要是一名 Rails 开发人员 但有时 我必须使用 PHP 进行编码 因为 stackoverflow com更喜欢可以回答的问题 我想知道
  • 通过 IP 地址限制 Laravel 错误日志

    When debug被设定为true在 Laravel 的app config php有什么方法可以限制结果Whoops包含对某些 IP 地址的堆栈跟踪的错误页面 并且不在该列表中的 IP 显示特定视图 Thanks 没有内置 但是你可能可
  • 通过 Facebook 图 api 点赞帖子

    你好 我对 facebook PHP SDK 没有什么问题 我想通过 facebook PHP SDK 点赞帖子或其他内容 我正在执行此代码 我认为它应该是正确的 但显然它不起作用 给定的错误代码是的 PHP SDK不知道这种POST请求

随机推荐

  • sublimerepl getenv 失败

    我想将 SiblimeREPL 包与 Sublime Text 一起使用 当我尝试启动 REPL 时 我得到 SublimeREPL obtaining sane environment failed in getenv Check con
  • 通过 TinyXML 深度复制 XML

    我正在使用tinyxml 如何复制或创建现有 XMLDocument 的副本 http www grinninglizard com tinyxmldocs classTiXmlDocument html a4e8c1498a76dcde7
  • 如何正确使用VAVR集合做到线程安全?

    VAVR 集合是 不可变的 那么 如果我有静态变量 例如 保存所有 WebSocket 会话 我将如何使用 VAVR 以使集合是线程安全的 例如 ServerEndpoint actions public class DeviceWebSo
  • TFRecords 和记录改组

    我的理解是 最好的做法是对每个时期的训练样本进行洗牌 以便每个小批量包含整个数据集的一个很好的随机样本 如果我将整个数据集转换为包含 TFRecords 的单个文件 那么在加载整个数据集的情况下如何实现这种改组 我的理解是 没有对 TFRe
  • 解析关于图像的迁移到heroku/aws

    我已成功将解析数据库迁移到 aws 但图像文件的 url 仍然像http files parsetfss com 77447afb f681 4b55 afad 6bceeb2e155a tfss 79297c86 bd48 4d7f 87
  • 如何定位 [(ngModel)] 进行量角器测试

    span class selector label Team span
  • 查询结果不显示具有空值的记录

    我正在设计一个搜索表单 根据 4 个文本字段 名字 姓氏 电话号码和促销代码 搜索我的访问数据库 查询看起来像 Like Forms SearchF txtFirstName Like Forms SearchF txtSurnameNam
  • 如何在 onPictureTaken 函数之后恢复 Android 相机预览?

    我正在开发一个从相机对象拍照并将其保存到 SD 卡的应用程序 除了某些事情之外 它工作得很好 我无法配置一些参数 例如分辨率 但是当我拍照时它会冻结在屏幕上 我只想在拍照后以同样的方式恢复预览和拍摄 这是完整的代码 http bahacan
  • Pandas:将多列添加到多索引列数据框中

    这个问题试图概括为此问题提供的解决方案 Pandas 将列添加到多索引列数据框中 https stackoverflow com questions 16088741 pandas add a column to a multiindex
  • 在 Excel 中创建删除线宏

    我是 VBA 新手 我正在尝试制作一个简单的宏 可以突出显示一组单元格 单击按钮 然后删除选定的销售 之后 您可以再次选择该单元格 单击同一按钮 然后删除删除线 我一直在寻找像样的文档 但尚未找到任何东西 这是一些代码 另外 我很想知道有关
  • Rails 4.2 - Sidekiq 在开发中不发送电子邮件

    我有一个 Rails 应用程序 其中有一个方法可以发送大量电子邮件 我想执行此操作asynchronously 为此 我尝试使用Sidekiq 但我无法让它正常工作 它不发送任何电子邮件 以前可以发送电子邮件 因此我确信我的电子邮件设置设置
  • 如何管理 kubernetes 服务部署的部署配置(yaml 文件)

    其次 为了将容器镜像部署到kubernetes 我们通常制作部署配置 yaml文件 现在 这些对于登台和开发环境可能有所不同 并且随着一些新功能的出现 可能会出现一些系统环境变量 这些变量需要存在于 yaml 中 我的问题是 1 How y
  • 可以通过 Terraform 为 Cloud Function 设置机密吗?

    地形google cloudfunctions function资源文档列表秘密环境变量 https registry terraform io providers hashicorp google latest docs resource
  • wcf System.ServiceModel.AddressAlreadyInUseException

    如果这个问题在 stackOverflow 上出现两次 我们深表歉意 我正在尝试在 Windows Server 2003 机器上运行 WCF 服务 我得到了System ServiceModel AddressAlreadyInUseEx
  • 删除查询 SPARQL FUSEKI

    如何删除给定 uri 的所有三元组语句 我的图表包含 PREFIX mo
  • 如何在 Ruby 中通过 HTTP 进行基本身份验证?

    经过大量查找后 我发现了一些似乎有效的解决方案 但不适合我 例如 我有这个脚本 require net http require net https http Net HTTP new www xxxxxxx net 443 http us
  • 连接两个 NSDate 字符串值 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只是感到困惑的是 是否有任何默认功
  • 什么时候应该使用对象而不是 json 对象?

    我正在用java设计一个程序 其中 许多对象只是数据包 并不真正需要任何非静态方法 我想轻松地从硬盘驱动器保存和加载对象 某些对象实例将需要一个附加属性 我可能会随着时间的推移添加或删除该属性 如果某些对象确实具有附加属性 那么大多数时候我
  • Windows NDIS 驱动程序分析

    我正在研究 Windows 10 上的 NDIS 筛选器驱动程序的性能分析 为此 我使用 Windows 性能记录器 WPR 和 Windows 性能分析器 WPA 我可以看到进程的 CPU 使用情况图 但我对驱动程序代码中的负载点感兴趣
  • 当系统中安装了多个php版本时,如何使用pecl为特定php版本安装php扩展?

    我已经根据本手册在 Ubuntu 上从 PPA 安装了 php5 6 和 php7 0 http lornajane net posts 2016 php 7 0 and 5 6 on ubuntu http lornajane net p