【问题标题】:How to install the OCI8 PHP extension on Mac OS X 10.8 Mountain Lion如何在 Mac OS X 10.8 Mountain Lion 上安装 OCI8 PHP 扩展
【发布时间】:2012-10-15 19:47:05
【问题描述】:

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

我已经安装了 32 位版本的 oracle 即时客户端,并用 sqlplus 进行了测试,一切正常。

但是现在我需要让 PHP 扩展 OCI8 工作,这导致我使用自制软件为 apache 构建了一个 32 位 PHP 模块。这似乎再次起作用,但据我了解,这现在需要 32 位的 Apache 构建,内置版本似乎只有 64 位。我不知道如何将 Apache 构建为 32 位,我什至不确定这是必需的,所以有点不知所措。非常感谢任何帮助 阿拉斯泰尔

编辑:

现在我已经放弃了原生安装,转而使用 Vagrant 和 Ubuntu 进行虚拟化开发:https://github.com/afhole/vagrant-lamp

【问题讨论】:

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


    【解决方案1】:

    经过大量研究,我找到了在 OS X 上使用 PHP 和 OCI8 配置 Apache 的可持续解决方案。您可以在任何地方安装 Oracle Instant Client 库,然后您需要做的就是编辑 Apache 的 launchd 配置 .plist 文件指定所需的DYLD_LIBRARY_PATHORACLE_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

    【讨论】:

      【解决方案2】:

      去那里: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/

      它可以在 10.8.2 以下的 Macbook Air 上运行

      【讨论】:

      【解决方案3】:

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

      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 位模式下运行,您可以将 arch 命令添加到 /System/Library/LaunchDaemons/org.apache.httpd.plist 中的 <key>ProgramArguments</key> 数组中的新 <string>/System/Library/LaunchDaemons/org.apache.httpd.plist

      【讨论】:

      • 我不确定它是否可以在 Mountain Lion 上运行,因为 httpd 现在似乎只有 64 位:$ file /usr/sbin/httpd /usr/sbin/httpd: Mach-O 64-bit executable x86_64 你在 10.8 Mountain Lion 上测试过这个吗?我已经尝试了该问题中的建议,但它们都没有为我在 10.8 上工作。我问了大约 10.8 并删除了我的评论。
      • 我的答案被删除了,因为我距离能够在这个问题上做出有用的贡献还有两个“声誉”。但是,我可以编辑原始问题和其他人的 cmets。去搞清楚。无论如何:arch -i386 /usr/sbin/httpd arch: posix_spawnp: /usr/sbin/httpd: Bad CPU type in executable
      猜你喜欢
      • 2013-06-17
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 2012-10-18
      • 2013-01-02
      • 2012-12-04
      • 2012-10-13
      • 1970-01-01
      相关资源
      最近更新 更多