pgsql.so не загружается в PHP

Для меня определили задачу для создания приложения PHP, которое получает доступ к существующей базе данных PostgreSQL. Это - мой первый раз, работая с Postgre, не говоря уже о PHP был уже установлен в поле Linux, на котором приложение, как предполагается, работает. У меня нет опыта при установке этого материала, я просто кодирую.

Мой вопрос состоит в том, что я, может казаться, не получаю расширение Postgre, работающее в PHP. Я проверил файл php.ini, не было никакого "расширения =..." строки. Таким образом, я добавил "extension=pgsql.so". Я затем проверил "extension_dir" и нашел, что было только 2 файла там (ldap.so, phpcups.so), я добавил pgsql.so файл, взятый от другого поля Linux. Я перезапустил httpd. И это не работает. Я не мог найти "pgsql" или "postgre" в phpinfo ().

Простите мой noobness. Я знаю слишком мало Linux. Я был бы очень признателен, если можно указать на меня на правильное направление.


Я использовал предложение, данное number5:

Чувак, я нахожусь на Redhat. Я использовал "вкусную" версию команды, которую Вы дали, и я получил это:

[root@perseus ~] # конфетка устанавливает php-pgsql, Загружающийся "installonlyn", плагин, Настраивающий Процесс Установки, Открывающий репозитории, не Мог получить mirrorlist ошибку http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=extras, был [Errno 4] IOError: Ошибка: не Может найти допустимый baseurl для repo: отдельно оплачиваемые предметы


К СОЖАЛЕНИЮ, сервер Linux, который я использую, НЕ подключен к Интернету. Какой-либо другой способ установить?

9
задан Obay 14 May 2010 в 08:47
поделиться

3 ответа

Это зависит от того, какой дистрибутив Linux вы используете.

Если вы используете Ubuntu / Debian, вам необходимо:

sudo apt-get install php5-pgsql

Fedora / CentOS

yum install php-pgsql

обычно вы можете узнать, в каком дистрибутиве вы используете:

ls /etc/*-release
9
ответ дан 4 December 2019 в 15:12
поделиться
  • Удалить файл .so, который вы скопировали с другой машины (хотя он может работать, рисковать не нужно)
  • Используйте диспетчер пакетов дистрибутива, чтобы установить модуль php_pgsql / php5_pqsql
  • Перезагрузите apache и повторите попытку . Возможно, модуль был добавлен в файл .ini автоматически
  • Если нет, запустите , чтобы узнать, какой php.ini вам нужен edit
  • отредактируйте этот ini-файл
  • перезапустите apache
1
ответ дан 4 December 2019 в 15:12
поделиться

На CentOS расширения создают отдельные *.ini файлы по одному на каждое расширение php в /etc/php.d

Поэтому не изменяйте основной *.ini файл, а создайте /etc/php.d/pgsql.ini и добавьте туда строку

extension=pgsql.so

Затем вам нужно будет перезапустить Apache с помощью

service httpd restart

Но лучший автоматизированный способ - просто набрать

yum install php-pgsql

В вашем случае это не сработало из-за проблем в конфигурации yum. Перейдите в /etc/yum-repos.d Введите

nano /etc/yum.repos.d/CentOS-Base.repo

Прокрутите вниз до раздела [extras] и убедитесь, что он выглядит так:

#additional packages that may be useful
[extras]
priority=1
name=CentOS-$releasever - Extras
=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Поправьте его, если нужно, сохраните файл (Ctrl-X) и сделайте следующее:

yum clean all
yum upgrade

После этого попробуйте повторить

yum install php-pgsql
3
ответ дан 4 December 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: