【发布时间】:2016-04-24 14:38:31
【问题描述】:
我正在尝试使 postgresql 在我的 Mac OSX 上与 apache 一起工作。我使用 homebrew 来管理我所有的开发功能,所以我替换了 apache 提供的默认 php 版本并下载了 homebrew 版本,这部分工作得很好。问题是当我想安装 postgresql 扩展时..
我已经这样做了:
- brew 安装 postgresql
- brew install php55 --with-postgresql
- brew install php55-pdo-pgsql
然后编辑 /etc/apache2/httpd.conf 文件,将 LoadModule php5_module libexec/apache2/libphp5.so 替换为 LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so。
然后当我执行 phpinfo() 命令时,我看不到 PDO 部分中安装的 postgresql 扩展。我只有这个:
如果有人可以帮忙 ;) 谢谢大家!
可能的解决方案:
- 首先像这样安装所有数据包:brew install postgresql php55 php55-pdo-pgsql
- 然后brew reinstall php55 --with-postgresql
而且它有效..我之前这样做过(可能不是相同的顺序)并且它不起作用,我不知道为什么它现在有效!
解决方案
当您查看 phpinfo() 结果时,您应该会看到类似 Loaded Configuration File 和 *Scan this dir for additional .ini files * 之类的内容。问题是您安装的每个扩展都有一个全局 php.ini 文件和一个 .ini 文件。
*Scan this dir for additional .ini files * 的值是扩展的 .ini 文件必须位于的位置。所以只需要创建一个 ext-pdo_pgsql.ini 并使用extension="path to your/pdo_pgsql.so" 加载扩展名(我的是/usr/local/opt/php55-pdo-pgsql/pdo_pgsql.so)。
安装只需要brew install php55 php55-pdo-pgsql postgresql
【问题讨论】:
标签: php macos apache postgresql homebrew