在OSX上使用已弃用的homebrew/php为PHP 5.6安装PHP扩展

21
今天我更新了Brew,现在无法安装php56-extensions扩展。
我的Mac上已安装了"php56",今天我需要安装"php56-redis",但是当我尝试安装此扩展时,Brew返回以下错误消息。
$ brew install php56-redis

Error: No available formula with the name "php56-redis" 
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

我在Homebrew/PHP页面上看到这个“tap”已经被弃用,目前只有PHP引擎迁移到了php@5.6,但是扩展无法正常工作。

我在Homebrew/PHP页面上看到这个“tap”已经被弃用,目前只有PHP引擎迁移到了php@5.6,但是扩展无法正常工作。


你应该将你的解决方法添加为一个答案。 - Ortomala Lokni
感谢您的信息。 - Giampaolo
3个回答

51

首先安装exolnet/homebrew-deprecated

$ brew tap exolnet/homebrew-deprecated
安装过期的软件包后。
$ brew install php@5.6

@RyanCoolwebs 确实不错。 - Sarasranglt
很棒的答案...真希望我早些时候就找到了。谢谢! - amlane86
是的!谢谢。 - somethingunusual
现在它不工作了。 - Andi Tenroaji Ahmad

9

我找到了一个解决方案,可以在我的Mac上使用旧版本的homebrew/php。

步骤1

前往php56的最后一个有效版本的homebrew/php:

https://github.com/Homebrew/homebrew-php/tree/966f6c318be2d80b4953cd8cdc112b9611eff8d9

并下载Zip文件。

homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip

步骤2

前往

/usr/local/Homebrew/Library/Taps/homebrew/

并将 Tap 重命名为

old-homebrew-php

步骤3

解压缩

homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip

/usr/local/Homebrew/Library/Taps/homebrew/ 

并且重命名文件夹在

homebrew-php

步骤4

使用brew搜索您的php扩展:

$ brew search php56-redis
==> Searching local taps...
homebrew/php/php56-redis
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...

第五步

安装不含更新的软件包:

HOMEBREW_NO_AUTO_UPDATE=1 brew install homebrew/php/<formula>

这将停止该命令的Homebrew更新。如果您想要阻止shell会话的自动更新,请使用:

export HOMEBREW_NO_AUTO_UPDATE=1

要永久设置它,请将它添加到您的~/.bash_profile文件中。


第二步最好运行brew untap homebrew/php,以完全从系统中删除它。它已经被归档(不会再更新),所有版本的PHP和PHP扩展都已经被删除了。它现在是无用的。 - axiac

4

截至2022年,我只发现https://github.com/shivammathur/homebrew-php仍然可用。

请查看在执行`brew tap exolnet/homebrew-deprecated`时出错

编辑:

事实证明,除了古老的php之外,您可能还需要使用传统的mysql 5.7,因此我最终使用lando(基于docker)来运行它。 这是我的.lando.yml:

name: app
recipe: drupal6 # pulls also composer and drush as a colateral, any other php 5.6 application will work never the less
config:
  php: '5.6'
  database: mysql:5.7
  webroot: .

向我的考古学同行们问候 ;)


嘿,大家好,这需要点赞。 - Jovylle
嗨,Andreas,我有一个问题,我在brew link之后无法安装扩展,似乎没有安装,我尝试了PHP重启和电脑重启。 - Jovylle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接