在 OSX 上为 PHP 5.6 安装 PHP 扩展,已弃用 homebrew/php
Install PHP Extension for PHP 5.6 on OSX with deprecated homebrew/php
今天我更新了 Brew,现在我无法安装 php56 扩展。
在我的 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,但扩展不起作用。
我找到了在 Mac 上使用旧版本 homebrew/php 的解决方案。
步骤 1
转到 homebrew/php 的最后一个有效版本 php56
https://github.com/Homebrew/homebrew-php/tree/966f6c318be2d80b4953cd8cdc112b9611eff8d9
并下载 Zip 文件。
homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip
步骤 2
转到
/usr/local/Homebrew/Library/Taps/homebrew/
并重命名 Tap
homebrew-php
在
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...
步骤 5
安装没有更新的包:
HOMEBREW_NO_AUTO_UPDATE=1 brew install homebrew/php/<formula>
这将停止此命令的自制程序更新。如果您想阻止 shell 会话的自动更新,请使用:
export HOMEBREW_NO_AUTO_UPDATE=1
要永久设置它,请将其添加到您的 ~/.bash_profile.
首先安装exolnet/homebrew-deprecated
$ brew tap exolnet/homebrew-deprecated
安装已弃用的软件包后
$ brew install php@5.6
现在 2022 年,我只发现 https://github.com/shivammathur/homebrew-php 还在工作。
见Error while doing `brew tap exolnet/homebrew-deprecated`
编辑:
事实证明,您可能还需要遗留 mysql 5.7 以及古老的 php,我最终使用了 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: .
向我的考古学家同事们问好 ;)
今天我更新了 Brew,现在我无法安装 php56 扩展。
在我的 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,但扩展不起作用。
我找到了在 Mac 上使用旧版本 homebrew/php 的解决方案。
步骤 1
转到 homebrew/php 的最后一个有效版本 php56
https://github.com/Homebrew/homebrew-php/tree/966f6c318be2d80b4953cd8cdc112b9611eff8d9
并下载 Zip 文件。
homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip
步骤 2
转到
/usr/local/Homebrew/Library/Taps/homebrew/
并重命名 Tap
homebrew-php
在
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...
步骤 5
安装没有更新的包:
HOMEBREW_NO_AUTO_UPDATE=1 brew install homebrew/php/<formula>
这将停止此命令的自制程序更新。如果您想阻止 shell 会话的自动更新,请使用:
export HOMEBREW_NO_AUTO_UPDATE=1
要永久设置它,请将其添加到您的 ~/.bash_profile.
首先安装exolnet/homebrew-deprecated
$ brew tap exolnet/homebrew-deprecated
安装已弃用的软件包后
$ brew install php@5.6
现在 2022 年,我只发现 https://github.com/shivammathur/homebrew-php 还在工作。
见Error while doing `brew tap exolnet/homebrew-deprecated`
编辑:
事实证明,您可能还需要遗留 mysql 5.7 以及古老的 php,我最终使用了 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: .
向我的考古学家同事们问好 ;)