Я пытаюсь подключиться к моей базе данных (удаленному серверу), в которой установлен PostgreSQL. Мой PHP-код пытается подключиться к базе данных с помощью pg_connect(), но я получаю сообщение об ошибке: "Неустранимая ошибка: вызов функции undefined 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 разбился по какой-то нечетной причине, я исправил эту проблему, но снова я оказался с той же ошибкой, что и до i.e. Неустранимая ошибка: вызов функции undefined 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, о котором я упомянул в своем ответе выше.
Я все еще работаю над упомянутыми вами инструментами и буду отвечать, как только получаю какие-либо результаты.
Спасибо, Н