繁体   English   中英

在 Mac OSX 上使用 apache 安装 postgresql

[英]Install postgresql with apache on Mac OSX

我试图让 postgresql 在我的 Mac OSX 上与 apache 一起工作。 我使用自制软件来管理我所有的开发功能,所以我替换了 apache 提供的默认 php 版本并下载了自制软件版本,这部分工作得很好。 问题是当我想安装 postgresql 扩展时..

我已经这样做了:

  • brew 安装 postgresql
  • brew install php55 --with-postgresql
  • 酿造安装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 扩展。 我只有这个: 使用 phpinfo() 配置 PDO

如果有人可以帮助;) 谢谢大家!

可能的解决方案: - 首先像这样安装所有数据包: 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

  1. 运行php -m | grep pgsql php -m | grep pgsql知道 pgsql 是否存在

  2. 按照此答案中的示例进行操作。 如果您对此处与编号 4 相对应的指令有疑问,请跳转至注意事项。

  3. 输入./configure --with-pdo-pgsql="path to postgres"并返回。 我的是在"/usr/local/bin"

  4. 输入make && sudo make install并返回。

  5. 扩展添加到php.inisudo echo "extension=pdo_pgsql.so" >> path to php.ini 使用php -i | grep php.ini查找路径php -i | grep php.ini

  6. 那应该为 postgres 安装 pdo 驱动程序

笔记

sudo make install可能不起作用。 这可能是由于称为csrutil的 OSX 功能csrutil 重新启动您的机器并按住cmd + R 从恢复csrutil disable从终端运行csrutil disable

再次重新启动并执行make install 重复与上一段相同的过程,通过在恢复界面的终端运行csrutil enable来启用 csrutil。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM