2014-01-10 4 views
0

Когда я пытаюсь выполнить pg_connect() в PHP, он не работает, и я пришел к осознанию того, что мои настройки РНР таким образом, что он не может понять эту функцию, и сообщение об ошибке PHP читает:Как настроить postgresql от php (beginner)?

Fatal error: "Call to undefined function pg_connect() in test.php on line 11" 

I скачали postgresql с yum install postgresql-server в терминале, но не более того.

Я слышал из других источников в Интернете, что я должен отредактировать конфигурационный файл, но я не знаю, где он находится.

ответ

2

Убедитесь, что у вас есть extension=php_pgsql.dll в вашем php.ini.

Кроме того, включение extension=php_pdo_pgsql.dll было бы хорошей идеей, если вы решите использовать PDO в будущем.

+0

Привет! Просто сделал, как сказал, и теперь я получаю php Warning: «Предупреждение: невозможно загрузить динамическую библиотеку /usr/lib/php/modules/php_pgsql.dll» - /usr/lib/php/modules/php_pgsql.dll: не может открытый файл общих объектов: Нет такого файла или каталога в Unknown в строке 0 « –

+0

Фактически я смотрел в этом каталоге, и ни один из этих файлов не был там. –

+0

Если вы используете linux, расширение будет другим ('.so'). Эти пакеты упакованы с PHP по умолчанию, поэтому они обычно появляются в вашем php.ini уже, только с ведущим ';'. Если вы используете Linux, и вы все еще не используете расширение, вы можете запустить 'apt-get install php5-pgsql'. – Scopey

0

Включите php_pgsql на своем сервере. Нажмите на свой WAMP (если его сервер WAMP) -> PHP-> PHP extensions-> php_pgsql (щелкните по нему).

2

Другие указал, что вы должны редактировать php.ini. Это верно для некоторых установок, но помогает только в том случае, если на самом деле присутствует интерфейс PostgreSQL для PHP.

В Fedora, это php-pgsql пакета:

yum install php-pgsql 

Этот пакет будет добавить файл в /etc/php.d/, который является каталогом php.ini фрагментов.

Простое редактирование php.ini без установки правильного пакета вам не поможет, и если вы установите пакет, вам не нужно редактировать php.ini.

В любом случае, просто используйте PDO. Расширение PostgreSQL для PHP в наши дни не поддерживается, и сильный толчок к PDO, скорее всего, сделает вашу жизнь сложнее с течением времени.

Смежные вопросы