问题
I installed ruby on my Mac OSX High Sierra
and am running into issues now with my php installation for some reason. I'm on php 7.1
.
Following this (also here) Github suggestion, I tried
brew update && brew reinstall php71
While installing, it broke at
==> Pouring php@7.1-7.1.23.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/php@7.1/7.1.23/bin/pear config-set php_ini /usr/local/etc/php/7.1/php.ini system
With error:
dyld: Library not loaded: /usr/local/opt/openldap/lib/libldap-2.4.2.dylib
Referenced from: /usr/local/Cellar/php@7.1/7.1.23/bin/php
Reason: image not found
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall php@7.1`
Typing in php
into terminal throws the same error.
Other things I've tried:
- I thought perhaps it wasn't linked, so I also tried:
brew unlink libldap && brew link libldap
- butlibldap
is not supported by Homebrew - Then here, while unrelated to postgres, it does discuss the issue of
libldap
and says to install viabrew install openldap
(I guesslibldap
is referred to asopenldap
to Homebrew) - this installed fine but didn't resolve the issue
How can I fix this?
回答1:
According to this issue, you need to install openldap
and libiconv
.
brew install openldap libiconv
I tried it and it worked for my system. I was originally missing the PHP intl
extension.
回答2:
Although I'm not sure why installing Ruby caused the issue, I solved the issue ultimately with:
- According to this discussion,
libldap
is referred to asopenldap
to Homebrew.brew install openldap
then ranphp reinstall php71
. This linked the libraries properly - The next issue was with
libiconv
, fortunately this is easily installed withbrew install libiconv
. Rerunningphp install php71
solved the problem
回答3:
This issue is discussed and tracked at https://github.com/Homebrew/homebrew-core/issues/32916
来源:https://stackoverflow.com/questions/52795110/php-dyld-library-not-loaded-for-libldap