2012-10-25 95 views
2

我需要在Mountain Lion上为PHP使用OCI8模块,该模块将使用Oracle即时客户端,该客户端目前仅支持32位。如何在Mac OS X 10.8 Mountain Lion上安装OCI8 PHP扩展

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

现在,但是我需要得到PHP扩展OCI8的工作,这导致我建立一个32位的PHP模块的Apache与自制软件。再次,这似乎是工作,但据我所知,这将需要一个32位版本的Apache,内置版本似乎只有64位。我无法弄清楚如何将Apache构建为32位,我甚至不确定这是必需的,所以在某种程度上是一种损失。任何帮助非常赞赏 阿拉斯泰尔

编辑:

现在我已经放弃了本地安装赞成使用流浪汉和Ubuntu虚拟化的发展:https://github.com/afhole/vagrant-lamp

回答

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

+0

真棒,看起来像Oracle终于发布了64位Mac驱动程序这是之前的主要障碍 – Alastair

+2

我写了一篇关于[在自制环境中安装OCI8扩展]的博客文章(http://antistatique.net/blog/2013/03/25/install-php-oracle-oci-extension -11-2上-MAC-OS-X-10-8 /) – GiDo

0

我试图做同样的,和在这个线程的答案似乎工作:

Force Apache HTTPD to run in 32bit

如您可以运行

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

强制Apache以32位模式运行。

如果您始终希望以32位模式运行,则可以将012命令添加到中的<key>ProgramArguments</key>数组中的新<string>

+0

我不知道可以在山狮的工作如httpd现在似乎只有64位: ' $ file/usr/sbin/httpd /usr/sbin/httpd:Mach-O 64位可执行文件x86_64' 您是否在10.8 Mountain Lion上测试了这个? 我已经试过这个问题的建议,他们都没有为我工作10.8。我询问了10.8并删除了我的评论。 – Alastair

+0

如果我的回答被删除了,因为我对这个问题做出了有益的贡献,所以我有两个“名声”。然而,我可以编辑原始问题和其他人的评论。去搞清楚。无论如何: arch -i386/usr/sbin/httpd arch:posix_spawnp:/ usr/sbin/httpd:在可执行文件中坏的CPU类型 – Alastair

0

经过大量研究,我找到了一个可持续发展在OS X上用PHP和OCI8配置Apache。您可以随时随地安装Oracle Instant Client库,然后您只需编辑Apache的launchd配置.plist文件即可指定所需的DYLD_LIBRARY_PATH,ORACLE_HOMELD_LIBRARY_PATH环境变量PHP实际上可以看到它们(当PHP作为Apache模块运行时,它不会从您的~/.bash_profile中看到这些环境变量)。

我还成功地让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

相关问题