asdf-php icon indicating copy to clipboard operation
asdf-php copied to clipboard

Homebrew has disabled [email protected]

Open mortenscheel opened this issue 1 year ago • 10 comments

Error: [email protected] has been disabled because it is not supported upstream! It was disabled on 2024-10-24.

How does one install php without it?

mortenscheel avatar Nov 13 '24 08:11 mortenscheel

The flag --with-openssl=$(brew --prefix openssl) works for me; that is:

export PHP_CONFIGURE_OPTIONS="--with-iconv=/opt/homebrew/opt/libiconv --with-openssl=$(brew --prefix openssl)"
asdf install php 8.3.13

… works for me without [email protected].

jbcaprell avatar Nov 15 '24 19:11 jbcaprell

… works for me without [email protected].

Yeah but if you set PHP_CONFIGURE_OPTIONS yourself, the installer will completely skip the automatic os-based configure options. This is the output of os_based_configure_options on my machine:

--with-gmp=/opt/homebrew/opt/gmp --with-sodium=/opt/homebrew/opt/libsodium --with-freetype-dir=/opt/homebrew/opt/freetype --with-gettext=/opt/homebrew/opt/gettext --with-icu-dir=/opt/homebrew/opt/icu4c@76 --with-webp-dir=/opt/homebrew/opt/webp --with-png-dir=/opt/homebrew/opt/libpng --with-zlib-dir=/opt/homebrew/opt/zlib --with-libzip=/opt/homebrew/opt/libzip --with-readline=/opt/homebrew/opt/readline --with-iconv=/opt/homebrew/opt/libiconv

I don't think most users would want to manage and maintain all those options themselves.

I would prefer if this plugin either changed [email protected] to openssl in the install script, or if that's not possible, allow us to override that specific value with an environment variable.

mortenscheel avatar Nov 20 '24 15:11 mortenscheel

… works for me without [email protected].

Yeah but if you set PHP_CONFIGURE_OPTIONS yourself, the installer will completely skip the automatic os-based configure options. This is the output of os_based_configure_options on my machine:

--with-gmp=/opt/homebrew/opt/gmp --with-sodium=/opt/homebrew/opt/libsodium --with-freetype-dir=/opt/homebrew/opt/freetype --with-gettext=/opt/homebrew/opt/gettext --with-icu-dir=/opt/homebrew/opt/icu4c@76 --with-webp-dir=/opt/homebrew/opt/webp --with-png-dir=/opt/homebrew/opt/libpng --with-zlib-dir=/opt/homebrew/opt/zlib --with-libzip=/opt/homebrew/opt/libzip --with-readline=/opt/homebrew/opt/readline --with-iconv=/opt/homebrew/opt/libiconv

I don't think most users would want to manage and maintain all those options themselves.

I would prefer if this plugin either changed [email protected] to openssl in the install script, or if that's not possible, allow us to override that specific value with an environment variable.

Absolutely! My response should be viewed as a band-aid for folks who just want to install PHP and move on with their lives, nothing more.

jbcaprell avatar Nov 20 '24 15:11 jbcaprell

https://github.com/asdf-community/asdf-php/blob/master/bin/install#L31 freeze [email protected] by https://github.com/asdf-community/asdf-php/pull/97 ?

watarukura avatar Nov 21 '24 07:11 watarukura

Yeah that's the issue. I think the best and easiest solution is to allow overriding the openssl version with an environment variable, or simply merging #154 so we can append the configure options.

mortenscheel avatar Nov 21 '24 08:11 mortenscheel

Hi!

I am using PHP 8.0 and now openssl was updated to 3.4 But I need to use [email protected], which I manually install to /usr/local/openssl-1.1 (homebrew is situated /opt/homebrew/..)

In terminal, when i type openssl version, I got OpenSSL 1.1.1u 30 May 2023. That`s OK.

If I dump openssl version in my project, Ive got OpenSSL 3.4.0 22 Oct 2024`

Please, can you tell me, if I can run [email protected] under homebrew PHP 8.0 and how? Many thanks!!

MikKuba avatar Dec 19 '24 21:12 MikKuba

@MikKuba you can edit the install script in ~/.asdf/plugins/php/bin/install. Search for openssl_path= and hardcode the path to your installation folder (it should be the folder that contains bin,include,lib and share subfolders). There are 2 local openssl_path variables you have to override.

mortenscheel avatar Dec 20 '24 08:12 mortenscheel

@MikKuba you can edit the install script in ~/.asdf/plugins/php/bin/install. Search for openssl_path= and hardcode the path to your installation folder (it should be the folder that contains bin,include,lib and share subfolders). There are 2 local openssl_path variables you have to override.

@mortenscheel I'm sorry, when I run code ~/.asdf/plugins/php/bin/install, it opens blank file. After save it's placed in Users\michalkuba\.asdf\plugins\php\bin.

Next, I run brew reinstall php, restart PHP, but nothing changed. In terminal, openssl version it returns correctly OpenSSL 1.1.1u 30 May 2023

Do you have any other hints for me? Or do you need more information? Let me know. Thanks a lot!

MikKuba avatar Dec 20 '24 15:12 MikKuba

Recently I reseted my Macbook (formatted it) and did install PHP with asdf, I did install Brew and it's requirements and I still received this error:

Warning: fopen(): Unable to find the wrapper "https"

Then after reading this post and concatenating some answers I've used this line to install PHP normally.

export PHP_CONFIGURE_OPTIONS="--with-gmp=/opt/homebrew/opt/gmp --with-sodium=/opt/homebrew/opt/libsodium --with-freetype-dir=/opt/homebrew/opt/freetype --with-gettext=/opt/homebrew/opt/gettext --with-icu-dir=/opt/homebrew/opt/icu4c@76 --with-webp-dir=/opt/homebrew/opt/webp --with-png-dir=/opt/homebrew/opt/libpng --with-zlib-dir=/opt/homebrew/opt/zlib --with-libzip=/opt/homebrew/opt/libzip --with-readline=/opt/homebrew/opt/readline --with-iconv=/opt/homebrew/opt/libiconv --with-openssl=$(brew --prefix openssl)"
asdf install php <php.version.here>

brunofunnie avatar Dec 26 '24 18:12 brunofunnie

@brunofunnie thank you!! That worked.

I am on an older intel mac, so it looks a little different.

brew install gmp libsodium imagemagick argon2 aspell libunistring libidn2 libnghttp2 openldap rtmpdump curl unixodbc freetds jpeg-turbo libavif gd krb5 libpq libzip tidy-html5 re2c libiconv pkg-config oniguruma libgd

export PATH="/usr/local/opt/bison/bin:$PATH"
export PATH="/usr/local/opt/curl/bin:$PATH"
export PATH="/usr/local/opt/openldap/bin:$PATH"
export PATH="/usr/local/opt/openldap/sbin:$PATH"
export PATH="/usr/local/opt/krb5/bin:$PATH"
export PATH="/usr/local/opt/krb5/sbin:$PATH"
export PATH="/usr/local/opt/libpq/bin:$PATH"
export PATH="/usr/local/opt/libiconv/bin:$PATH"

export PHP_CONFIGURE_OPTIONS="--with-gmp=/usr/local/opt/gmp --with-sodium=/usr/local/opt/libsodium --with-freetype-dir=/usr/local/opt/freetype --with-gettext=/usr/local/opt/gettext --with-icu-dir=/usr/local/opt/icu4c@76 --with-webp-dir=/usr/local/opt/webp --with-png-dir=/usr/local/opt/libpng --with-zlib-dir=/usr/local/opt/zlib --with-libzip=/usr/local/opt/libzip --with-readline=/usr/local/opt/readline --with-iconv=/usr/local/opt/libiconv --with-openssl=$(brew --prefix openssl)"
asdf install php 8.4.2

I had to do a fresh install on the machine, so I couldn't use the old version of [email protected]

jlarmstrongiv avatar Jan 05 '25 03:01 jlarmstrongiv