如何在Mac OS X 10.8 Mountain Lion上安装OCI8 PHP扩展

时间:2012-10-25 15:16:14

标签: php osx-mountain-lion apache2.2 oci8

我需要在Mountain Lion上使用OCI8模块用于PHP,它将使用oracle即时客户端,目前只支持32位。

我已经安装了32位版本的oracle即时客户端,并使用sqlplus进行了测试,一切看起来都很好。

现在我需要让PHP扩展OCI8正常工作,这让我为自制的apache构建了一个32位的PHP模块。这似乎是有效的,但据我所知,现在需要32位构建的Apache,内置版本似乎只有64位。我无法弄清楚如何将Apache构建为32位,我甚至不确定这是必需的,所以我有些不知所措。任何帮助非常感谢 阿拉斯泰尔

修改

目前我已经放弃了使用Vagrant和Ubuntu进行虚拟化开发的本机安装:https://github.com/afhole/vagrant-lamp

3 个答案:

答案 0 :(得分:3)

去那里:http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

使用文件 11.2.0.3.0(64位)

编辑:在下面提供的说明中,更改行:

sudo ln -s libclntsh.dylib.10.1 libclntsh.dylib

sudo ln -s libclntsh.dylib.11.1 libclntsh.dylib

安装说明在此处:http://www.enavigo.com/2012/01/04/enabling-oracle-oci8-php-extension-on-os-x-snow-leopard/

它适用于我的Macbook Air 10.8.2

答案 1 :(得分:0)

我正在尝试做同样的事情,这个帖子中的答案似乎有效:

Force Apache HTTPD to run in 32bit

E.g。你可以运行

(sudo) arch -i386 apachectl start
(sudo) arch -i386 apachectl stop
(sudo) arch -i386 apachectl restart

强制Apache以32位模式运行。

如果您始终希望以32位模式运行,则可以将arch命令添加到<string><key>ProgramArguments</key>数组中的新/System/Library/LaunchDaemons/org.apache.httpd.plist

答案 2 :(得分:0)

经过大量研究后,我发现了一个可持续的解决方案,可以在OS X上使用PHP和OCI8配置Apache。您可以在任何地方安装Oracle Instant Client库,然后您需要做的就是编辑Apache的launchd配置{{ 1}}文件指定所需的.plistDYLD_LIBRARY_PATHORACLE_HOME环境变量,以便PHP实际可以看到它们(它不会从{{1}中看到这些环境变量当PHP作为Apache模块运行时。)

我也成功地让OCI8在OS X 10.7.4和OS X 10.8.4的64位版本的Apache和PHP下工作。我最初将32位和64位版本的Oracle Instant Client库组合到多架构胖二进制文件中。这允许通过不同的工具在我的系统上使用相同的Oracle Instant Client库,其中一些工具以32位模式运行,而另一些工具以64位运行。在OS X 10.8上,您应该成功使用最近发布的64位版本的Oracle Instant Client库,而无需在32位模式下运行Apache。我会尝试写下当我有更多时间时所做的事情,因为它也可能对其他人有所帮助。

您可以在此处查看有关配置Apache“特定于流程的”环境变量的完整答案:https://stackoverflow.com/a/20670810/1914455