Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install PHP Extension for PHP 5.6 on OSX with deprecated homebrew/php

today I've update Brew and now I can't install the php56-extensions.

On my Mac is installed "php56" and today I had need to install, "php56-redis", but when I had try to install this extension, Brew returned the following error message.

$ 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.

I see on homebrew/php page that this "tap" is deprecated and for now only PHP engine are migrated on [email protected] but the extensions not works.

like image 808
Giampaolo Avatar asked Apr 04 '18 11:04

Giampaolo


3 Answers

First install exolnet/homebrew-deprecated

$ brew tap exolnet/homebrew-deprecated

After it install deprecated package

$ brew install [email protected]
like image 60
emamie Avatar answered Oct 13 '22 16:10

emamie


I've found a solution to use old version of homebrew/php on my Mac.

Step 1

Go to last valid release of homebrew/php for php56

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

and download the Zip file.

homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip

Step 2

Go to

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

and rename the Tap

homebrew-php

in

old-homebrew-php

Step 3

Unzip

homebrew-php-966f6c318be2d80b4953cd8cdc112b9611eff8d9.zip

in

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

and rename folder in

homebrew-php

Step 4

Search your php extension with brew:

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

Step 5

Install pakages without updates:

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

This will stop the homebrew update for this command. If you want to prevent auto update for your shell session, use:

export HOMEBREW_NO_AUTO_UPDATE=1

to set it permanently, add it to your ~/.bash_profile.

like image 21
Giampaolo Avatar answered Oct 13 '22 15:10

Giampaolo


Now at 2022, I only found https://github.com/shivammathur/homebrew-php to be still working.

See Error while doing `brew tap exolnet/homebrew-deprecated`

EDIT:

As it turned out, that you might also need legacy mysql 5.7 together with the ancient php, I ended up using lando (based on docker) to get it up running. This is my .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: .

Greetings to my fellow archeologists ;)

like image 23
Andreas Avatar answered Oct 13 '22 16:10

Andreas