В эти дни я использую почтовый клиент Clever Component, хотя и не бесплатный.
Элементы управления TurboPower Internet (OpenSource) отлично работали для меня в прошлом.
Easy install for ubuntu:
Just run,
> sudo apt-get install php5-pgsql
then
> sudo service apache2 restart //restart apache
или
Uncomment the following in php.ini by removing the ";"
;extension=php_pgsql.dll
then
restart apache
Я столкнулся с этой ошибкой, и в итоге это связано с тем, как загружается PHP extension_dir.
Если при печати phpinfo () вы обнаружите, что в PDO-заголовке PDO-драйверу установлено значение no value , вы можете проверить, что вы успешно загрузили свой каталог расширений, как описано в этом сообщении:
У меня был тот же симптом в win7. Я получил этот скрипт:
<?php
phpinfo();
pg_connect("blah");
Когда я выполнил скрипт phpinfo.php через apache ( http: //localhost/phpinfo.php ), я получил сообщение об ошибке: Вызов неопределенной функции pg_connect () в ...
Когда я выполнил тот же скрипт из командной строки (php phpinfo.php), то получил ожидаемое сообщение: PHP Warning: pg_connect (): Не удается подключиться к серверу PostgreSQL: отсутствует «=» после «blah»
В обоих случаях использовался ожидаемый php.ini:
Loaded Configuration File C:\Program Files (x86)\php\php.ini
, но pgsql раздел полностью отсутствовал из phpinfo в случае выполнения на основе apache и присутствовал в выполнении на основе командной строки.
Решение состояло в том, что я добавил следующую строку в apache httpd.conf :
LoadFile "C:/Program Files (x86)/php/libpq.dll"
Кажется, что по какой-то причине этот файл не загружается автоматически, когда apache запускает php-скрипт, но он загружается, если я запускаю php-скрипт из командной строки.
Я надеюсь, что это помогает.
Неустранимая ошибка: вызов неопределенной функции pg_connect () ...
У меня была эта ошибка, когда я устанавливал Lampp или xampp в Archlinux,
. Решение было отредактировано php .ini, он находится в /opt/lampp/etc/php.ini
, затем найдите эту строку и раскомментируйте
extension = "pgsql.so"
затем перезапустите сервер apache с помощью xampp и проверьте ...
Удача
В ОС Windows найдите это в php.ini «php_pgsql.dll» и удалите «;» в расширении, вот и все :) Cheeers!
Edit. Я просто заметил, что вы упоминаете МАМП. Мой совет для Windows, но может быть полезен, если вы знаете, какие соответствующие инструменты использовать.
Что попробовать :
В Gentoo используйте postgres флаг USE в файле /etc/portage/make.conf и re emerge "emerge php"
установите необходимый пакет. если вы используете yum:
yum search pgsql
, посмотрите на результат и найдите что-то вроде «php-pgsql» или что-то в этом роде. скопируйте имя и затем:
yum install *paste the name of the package here*
У меня также была проблема с OSX. Решение было раскомментировано extension = pgsql.so
в php.ini.default
и удалением суффикса .default
, так как файла php.ini
не было.
Если вы используете XAMPP, файл php.ini находится в / XAMPP / xampfiles / etc
Для тех из вас, у кого есть эта проблема с PHP 5.6, вы можете использовать следующую команду:
yum install php56w-pgsql
Для получения списка дополнительных имен пакетов для PHP 5.6 откройте следующую ссылку и прокрутите вниз к пакетам:
Вы должны выполнить следующие действия:
Откройте файл конфигурации php, который находится в следующем каталоге
C: \ xampp \ php \ php.ini
. Внутри этого файла найдите раздел расширения и раскомментируйте следующие строки
extension = php_pdo_pgsql.dll
extension = php_pgsql.dll
и перезапустите apache
Вам нужно установить пакет php-pgsql или что-то еще, что оно вызвало для вашей платформы. Который я не думаю, что вы сказали, кстати.
В Ubuntu и Debian:
sudo apt-get install php5-pgsql
sudo service apache2 restart
. Надеюсь, это поможет кому-то другому.
– snapfractalpop
7 November 2012 в 23:59