[英]Install postgresql with apache on Mac OSX
我试图让 postgresql 在我的 Mac OSX 上与 apache 一起工作。 我使用自制软件来管理我所有的开发功能,所以我替换了 apache 提供的默认 php 版本并下载了自制软件版本,这部分工作得很好。 问题是当我想安装 postgresql 扩展时..
我已经这样做了:
然后编辑 /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 -m | grep pgsql
php -m | grep pgsql
知道 pgsql 是否存在
按照此答案中的示例进行操作。 如果您对此处与编号 4 相对应的指令有疑问,请跳转至注意事项。
输入./configure --with-pdo-pgsql="path to postgres"
并返回。 我的是在"/usr/local/bin"
。
输入make && sudo make install
并返回。
扩展添加到php.ini
与sudo echo "extension=pdo_pgsql.so" >> path to php.ini
。 使用php -i | grep php.ini
查找路径php -i | grep php.ini
那应该为 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.