在Mac OS X上的PHP中启用PostgreSQL支持
我很难在Mac上正常使用命令“
pg_connect()”。我目前正在编写一个PHP脚本(将从控制台执行)以读取PostgreSQL数据库并通过电子邮件发送报告。
我已经进入php.ini
文件并添加了
extension=pgsql.so
但是,我遇到了以下错误。
PHP警告:PHP启动:无法加载动态库’/usr/lib/php/extensions/no-debug-non-
zts-20090626/php_pgsql.so’-dlopen(/ usr / lib / php / extensions / no-debug
-non-zts-20090626 / php_pgsql.so,9):在第0行
PHP的“ 未知”中找不到图像致命错误:在…中调用未定义的函数pg_connect()…(此处为空白文件)
运行时phpinfo()
,我对PostgreSQL没有任何了解,那么这里的问题是什么?
回答:
OS X附带的PHP版本不包括PostgreSQL。您必须自己编译扩展。以下是一些说明:
- 查找您的PHP版本:
php -v
。 - 下载与您相匹配的PHP版本:
curl -O http://us.php.net/distributions/php-5.3.3.tar.gz
。(此示例下载了PHP 5.3.3,但这必须与您的版本匹配) - 解压缩下载的档案:
tar -xzvf php-5.3.3.tar.gz
- 转到PostgreSQL的扩展目录:
cd php-5.3.3/ext/pgsql/
- 输入
phpize
。 - 输入
./configure
。 - 输入
make
。 - 输入
sudo make install
。 - 通过添加扩展名到您的
php.ini
文件extension=pgsql.so
。(您可能已经这样做了) - 重新启动Apache。
Apple已从autoconf
较新版本的XCode中删除,因此上述过程将在#5处失败。要解决该问题:
- 输入
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
。 - 输入
sudo chown -R $USER /usr/local/Cellar
。 - 输入
brew update
。 - 输入
brew install autoconf
。
这样就可以安装autoconf
并允许您使用上面的说明安装模块。
以上是 在Mac OS X上的PHP中启用PostgreSQL支持 的全部内容, 来源链接: utcz.com/qa/417687.html