多版本环境下,将PHP扩展编译安装至指定版本目录下

今晚在 MBP 上装 mongo 开发环境时遇到了个问题,在此记录下。

环境

MacOS Lion 自带PHP 5.3.6,安装在 /usr 下,另外自己又编译安装了PHP 5.3.8,安装在 /opt/php 下,也就是说目前系统存在两个版本的 PHP,根据 $PATH 的查询顺序,默认的 PHP 版本为系统自带的 5.3.6

问题 & 解决方法

在编译安装 mongo 扩展时发现在 make install 时,扩展会被安装至 /usr/lib/php/extensions/no-debug-non-zts-20090626/,这并非我要的结果,原先想直接 copy 到 5.3.8 版本目录下,后来想想编译环境可能会不同,怕会有版本差异导致运行不稳定,还是研究下吧。

重新解压缩源码,使用 5.3.8 版本的 phpize 配置完后发现目录下的 configure.in 文件被更新了,打开粗阅了下发现和 php-config 有关,经过尝试后得出解决方法:

cd mongo-1.2.6
/opt/php/bin/phpize
./configure –prefix=/opt/php –with-php-config=/opt/php/bin/php-config
make
make install

关键在于第三行指定 php-config 语句。最终 make install 执行后显示:

Installing shared extensions:     /opt/php/lib/php/extensions/no-debug-non-zts-20090626/

至此问题解决。

This entry was posted in Mac OS. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>