Для меня определили задачу для создания приложения 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, который я использую, НЕ подключен к Интернету. Какой-либо другой способ установить?
Это зависит от того, какой дистрибутив Linux вы используете.
Если вы используете Ubuntu / Debian, вам необходимо:
sudo apt-get install php5-pgsql
Fedora / CentOS
yum install php-pgsql
обычно вы можете узнать, в каком дистрибутиве вы используете:
ls /etc/*-release
Php echo 'ini:', get_cfg_var ('cfg_file_path');
, чтобы узнать, какой php.ini вам нужен edit На 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