在 OSX Mountain Lion 上安装 PHP 的 mcrypt 扩展

2022-08-30 12:06:31

对于潜在的n00b问题,我提前道歉,我正在尝试在我的OSX Mountain Lion计算机上安装PHP的mcrypt扩展。

终端中的以下步骤是我到目前为止为实现PHP安装所做的

cd /path/to/downloaded/php-5.3.21/ext/mcrypt/
/usr/bin/phpize
./configure
cd /path/to/downloaded/php-5.3.21
./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs
make
sudo make install

这似乎工作得很好,安装PHP 5.3.21很好。然后我做了

sudo nano /private/etc/php.ini

并包括

extension=mcrypt.so

随着 Apache 重新启动,phpinfo() 不会显示 mcrypt 扩展已加载。

然后,我试图在php.ini中指定extension_dir,但同样没有运气。

我已经完成了

locate mcrypt.so
/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
/usr/local/Cellar/php53-mcrypt/5.3.18/mcrypt.so

并尝试将两个目录作为extension_dir,但没有运气。

经过多次谷歌搜索,我也尝试了以下内容

./configure --with-config-file-path=/private/etc/php.ini --with-apxs2=/usr/sbin/apxs --with-mcrypt

这似乎工作正常,但是在“make”之后,它会返回

ext/mcrypt/mcrypt.o: No such file or directory
ext/mcrypt/mcrypt_filter.o: No such file or directory

同样,没有成功。

我做错了什么?似乎 mcrypt.so 的物理编译没有发生,或者编译不正确,因为我怀疑在定位下发现了另一个 mcrypt.so?

有人请帮忙吗?我已经浏览了一页又一页的谷歌搜索,但没有运气!


答案 1

我倾向于在Mac上使用Homebrew。它将为您安装和配置所有东西。
链接

然后,您应该能够安装它,它将正常工作(tm)。brew install mcrypt php53-mcrypt

您可以将 替换为您正在使用的任何版本的 PHP,例如 或 。如果不确定,请使用 .53php56-mcryptphp70-mcryptbrew search php

还要记住,如果您使用的是内置的Mac PHP,则将其安装到终端中,您可以看到您正在终端上使用哪个php,它将返回路径。/usr/binwhich php


答案 2

我刚刚在《美洲狮》上经历了这一点。Homebrew在libiconv上被阻止了,它认为它丢失了,但实际上是最新的。经过一个小时的尝试,我试图让它识别libiconv,我放弃了,并以老式的方式安装它,这花了整整五分钟......

(download your php version)
$ wget http://www.php.net/get/php-5.3.21.tar.gz/from/a/mirror
$ tar -xvzf php-5.3.21.tar.gz
$ cd php-5.3.21/ext/mcrypt
$ phpize
$ ./configure
$ make
$ make test
$ sudo make install 

mcrypt.so 现在在你的PHP ext dir中(在我的情况下),现在你需要添加到php.ini作为一个模块/usr/lib/php/extensions/no-debug-non-zts-20090626/

$ vi /etc/php.ini
$ (insert) extension=mcrypt.so
$ sudo apachectl restart

完成 - 无需冲泡。呵呵呵呵呵


推荐