Error in mcrypt after upgrading into El Capitan OS

痞子三分冷 提交于 2019-12-02 06:32:56

Can be a problem related to the new System Integrity Protection or "SIP"? Maybe could be helpful to check permission on the /usr folder and change them as needed.

After upgrading to El Capitan, mcrypt.so has been moved from

/usr/lib/php/extensions/no-debug-non-zts-20121212

to

/Library/SystemMigration/History/Migration-(UUID)/QuarantineRoot/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so

To be able to copy back the moved file, first, you must disable SIP as described here http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt

Then copy back the moved mcrypt.so to /usr/lib/php/extensions/no-debug-non-zts-20121212

Finaly restart Apache

If you look at Coolest Guides On The Planet's separate page for mcrypt they suggest disabling SIP. But there's a way to get around that. Follow the guide as normal (skipping the SIP part) and after running /usr/bin/phpize you can overide the extensions directory make is using.

First create a new home for your php extensions:

mkdir -p /usr/local/lib/php/extensions

Then run:

./configure

make

sudo make EXTENSION_DIR='/usr/local/lib/php/extensions' install

And finally, when you add the extension to your php.ini the most straightforward option is to include the full path to the file.

extension=/usr/local/lib/php/extensions/mcrypt.so

So far this is working for me.

Indirect references:
Error configuring mcrypt after upgrading to El Capitan (Ask Different)
Comment by Jon Gardner that started me on the path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!