2

我正在尝试在我的 OS X Mountain Lion 10.8 操作系统上安装 mcrypt PHP 扩展。该操作系统随附已安装的 Apache 和 PHP。然而,mcrypt 扩展并没有随 PHP 一起提供。我想将 mcrypt 安装到我的机器附带的 PHP 版本中。

我不想使用 Homebrew、Macports 或任何类似的包管理器,也不想安装我已有的 PHP 版本之外的另一个版本。我只想将 mcrypt 插入与我的操作系统捆绑在一起的 PHP 中。我觉得这是有道理的,而不是安装同一程序的多个版本,但我遇到的每个教程似乎都立即说使用 Homebrew/Macports,而少数不教你如何安装新 PHP而不是使用我已经拥有的那个。

我开始遵循此页面上的说明:http: //www.coolestguyplanettech.com/how-to-install-mcrypt-for-php-on-mac-osx-lion-10-7-development-server/

  1. 我从 Sourceforge 下载了 libmcrypt-2.5.8.tar.gz。
  2. 我使用以下命令提取了内容:tar -zxvf libmcrypt-2.5.8.tar.gz.
  3. 我进入创建的 libmcrypt-2.5.8 目录并发出以下命令:./configuremakesudo make install.

现在该教程说要进入由教程告诉您安装的新的非本地 PHP 版本创建的目录,而不是OS X 附带的本地版本。教程说要进入以下目录: cd ../php-5.3.13/ext/mcrypt/(这是我没有的目录),然后运行phpize命令。我无法进入该目录,因为我使用的是 OS X 附带的本机 PHP,因此我进入了 libmcrypt-2.5.8 目录,但是当我尝试运行该phpize命令时,我收到一条错误消息:Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module. 但是,我确实有文件acinclude.m4aclocal.m4在此目录中。我不确定它们是否与config.m4phpize 正在寻找的相关。

我不确定如何进行。也许我应该减少损失并使用 Macports 或 Homebrew 安装另一个 PHP,但我真的更喜欢使用与 OS X 捆绑在一起的本机 PHP。你能帮我弄清楚如何做到这一点吗?它真的对我有很大帮助,并帮助我更好地理解 PHP 和扩展是如何工作的。谢谢!

4

1 回答 1

1

“我真的更喜欢使用与 OS X 捆绑在一起的原生 PHP。你能帮我弄清楚如何做到这一点吗?它真的对我有很大帮助,并帮助我更好地理解 PHP 和扩展是如何工作的。”

与 OSX 捆绑在一起的 PHP 并不比您要安装的任何其他版本更“原生”。

您没有该目录,因为 IIRC、OSX 不附带 PHP 源代码,只是一个已编译的二进制文件和 apache 模块。

您只能在 php 扩展上运行 phpize,您可以在 PHP 源下载(包括 mcrypt 扩展)中获得该扩展。您下载的是 PHP 扩展将引用的 C 库(您可能还需要安装)(您无需担心这是如何发生的)。

如果您只想安装该扩展程序:

  1. 下载它

  2. 提取并 cd 进入

  3. 须藤 phpize

  4. sudo ./configure && sudo make && sudo make install

  5. 将 extension=mcrypt.so (或任何生成的)添加到您的 php config / php.ini 并重新启动 apache

在我看来,这听起来像是一个了解更多关于您的计算机如何工作的好机会。这是我几年前为自己写的关于如何做到这一点的一些文档:

http://www.calvinfroedge.com/common-php-compile-configuration-options/(请注意,如果您将博客中的格式粘贴到终端,则可能无法正常工作,例如--with-mysql 应该是--with- mysql)

此外,您不需要摆脱 OSX 附带的 PHP 安装。您可以将 PHP 源代码下载到一个全新的目录,对其进行编译,备份旧的二进制文件,然后将“which php”的结果符号链接到您的新安装中,或者将编译后生成的二进制文件添加到您的源代码中。

于 2013-08-24T03:35:24.823 回答