Я пытаюсь подключиться к моей базе данных (удаленному серверу), на которой установлен PostgreSQL.Мой PHP-код пытается подключиться к базе данных с помощью pg_connect (), но я получаю сообщение об ошибке: - «Неустранимая ошибка: вызов неопределенной функции pg_connect () в /var/www/website/functions.php в строке 82».
Строка 82 просто такова:
$db = pg_connect($conn_string);
where $conn_string = "host=".$hostname." port=5432 dbname=".$dbname." user=".$db_user." password=".$db_password.""
(все переменные, определенные ранее)
Я проверил много форумов, и единственным предложенным решением было найти файл php.ini, которыйсодержит строку: - extension = pgsql.so (для UNIX) и extension = php_pgsql.dll (для Windows).
Предполагается, что это утверждение будет прокомментировано, и решение состоит в том, чтобы раскомментировать его.Я пробовал это, но все еще не меняет ситуацию.Удаленный сервер имеет версию, более позднюю, чем установленная PostgreSQL v9.0.4.Затем я установил PostgreSQL v8.4.8 на свой ноутбук и запустил сайт локально, используя MAMP.Сначала Apache потерпел крах по какой-то странной причине, я исправил эту проблему, но снова у меня возникла та же ошибка, что и раньше, т.е. фатальная ошибка: вызов неопределенной функции pg_connect () ....
Я также запустилphpinfo()
и это показало, что версия php поддерживает модуль PostgreSQL. Я потратил целый день на поиск решения, но безуспешно.Это мой первый проект по разработке веб-сайта, и я сошел с ума.Любая помощь будет высоко оценена.
phpinfo () дает мне огромный список вещей в терминале, но списки, относящиеся к PostgreSQL, выглядят следующим образом: -
pdo_pgsql
PDO Driver for PostgreSQL => enabled
PostgreSQL(libpq) Version => 9.0.4
Module version => 1.0.2
Revision => $Id: pdo_pgsql.c 306939 2011-01-01 02:19:59Z felipe $
pgsql
PostgreSQL Support => enabled
PostgreSQL(libpq) Version => 9.0.4
Multibyte character support => enabled
SSL support => enabled
Active Persistent Links => 0
Active Links => 0
Directive => Local Value => Master Value
pgsql.allow_persistent => On => On
pgsql.auto_reset_persistent => Off => Off
pgsql.ignore_notice => Off => Off
pgsql.log_notice => Off => Off
pgsql.max_links => Unlimited => Unlimited
pgsql.max_persistent => Unlimited => Unlimited
Я перезапустилMAMP после каждого редактирования, которое я сделал, так как оно упоминалось в каждом посте, который я прочитал до сих пор.Я считаю, что сбрасывает Apache и php.
'pqsql.so' (который в UNIX эквивалентен 'php_pqsql.dll' в Windows) присутствует в каталоге 'extension'.Я также скопировал и вставил файл pqsql.so в каталог Apache / bin, но он не дал мне никаких изменений.
Я не запускаю php в командной строке.Мне просто было любопытно посмотреть, что phpinfo () даст мне отношение к pgsql, о котором я упоминал в своем ответе выше.
Я все еще работаю над инструментами, которые вы упомянули, и отвечу, как только получуРезультаты.
Спасибо, H