我在OSX El Capitan和Apache服务器上运行最新版本的PHP(目前为5.6.22)。
我正在尝试使用PostgreSQL数据库,实际上,昨天已经工作了但是在我用一个默认的覆盖httpd.conf文件之后(我猜这是问题)我收到了这条消息:
在......
中调用未定义的函数pg_connect()
问题是我没有更改php.ini文件。如果我运行phpinfo();我得到了配置文件的etc / php.ini。所以我很肯定Apache选择了正确的php.ini文件,并加载了正确的扩展名:
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
什么可能导致此错误?此外,我已经安装了pgAdmin 3,我可以在已创建的数据库上成功运行SQL查询(我昨天用过这个我正在处理的网站)。
编辑:
当我重新启动Apache服务器并尝试运行该特定页面(调用pg_connect)时,这是我在error_log文件中得到的:
[Thu Jun 02 15:28:15.595496 2016] [mpm_prefork:notice] [pid 476] AH00169:抓住SIGTERM,关闭[Thu Jun 02 15:28:16.515774 2016] [so:warn] [pid 670] AH01574:模块php5_module已经存在 加载,跳过PHP警告:PHP启动:无法加载动态 图书馆 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_curl.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_curl.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_mbstring.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_mbstring.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_mysqli.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_mysqli.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pdo_pgsql.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pdo_pgsql.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pdo_sqlite.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pdo_sqlite.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pgsql.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_pgsql.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_soap.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_soap.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_sockets.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_sockets.dll, 9):在第0行的Unknown中找不到图像PHP警告:PHP启动: 无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20121212/php_sqlite3.dll' - dlopen的(/usr/lib/php/extensions/no-debug-non-zts-20121212/php_sqlite3.dll, 9):在第0行的未知中找不到图像[Thu Jun 02 15:28:16.615703 2016] [mpm_prefork:notice] [pid 670] AH00163:Apache / 2.4.18(Unix) 配置PHP / 5.5.31 - 恢复正常操作[Thu Jun 02 15:28:16.615786 2016] [核心:通知] [pid 670] AH00094:命令行: '/ usr / sbin / httpd -D FOREGROUND'[Thu Jun 02 15:28:20.869683 2016] [:error] [pid 674] [client 127.0.0.1:49594] PHP致命错误:致电 未定义的函数pg_connect()in /Library/WebServer/Documents/site/database.php在第10行
答案 0 :(得分:0)
如果未安装pgsql扩展或与当前服务器版本(x86 / x64)不兼容,则会发生这种情况。
检查 ext 文件夹中是否包含正确的文件:php_pgsql.so
(如果您在Windows上运行,则为php_pgsql.dll
)
在extension=php_pdo_pgsql.dll
中搜索php.ini
行。然后只是添加它,如果没有找到或删除逗号,如果其注释
运行phpinfo()
并检查扩展程序是否已启用
如果你找到它,那就好了