Драйвер PDO Informix ODBC работает с PHP CLI, но не в браузере

Я просто пытаюсь создать соединение с базой данных с помощью драйвера Informix.

Сервер работает на CentOS 6.4, с PDO_INFORMIX-1.3.1 и clientdk.4.10.FC2DE.LINUX.

Я устанавливаю env var в /etc/sysconfig/httpd и запускаю эту команду:

  • chcon -t lib_t /opt/informix/lib/cli/*.so
  • chcon -t lib_t /opt/informix/lib/*.so
  • chcon -t lib_t/opt/informix/lib/esql/*.so
  • chcon -t lib_t /opt/informix/lib/c++/*.so
  • chcon -t lib_t /opt/informix/lib/dim/*.so
  • chcon -t lib_t /opt/informix/lib/client/cms/*.so
  • chcon -t lib_t /opt/informix/OAT/Apache_2.4.2/modules/*.so
  • chcon -t lib_t /opt/informix/OAT/PHP_5.4.4/*.so
  • chcon -t lib_t /opt/informix/OAT/PHP_5.4.4/lib/php/extensions/*.so
  • /sbin/ldconfig
  • 0

Когда я запускаю "php /var/www/html/informix.php", соединение проходит успешно, но когда я вызываю тот же скрипт в браузере, я получаю эту ошибку:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE=08004, SQLDriverConnect: -908 [Informix][Informix ODBC Driver][Informix]Attempt to connect to database server (cms_net) failed.' in /var/www/html/informix.php:30 Stack trace: #0 /var/www/html/informix.php(30): PDO->__construct('informix:host=1...', 'user', 'xxxxx') #1 {main} thrown in /var/www/html/informix.php on line 30

Я пытаюсь установить хост в /etc/hosts, безуспешно.

Я не знаю, что делать, чтобы решить эту проблему. Кто-нибудь может мне помочь?


person benjy80    schedule 22.11.2013    source источник
comment
если это selinux, в журнале будут трассировки, чтобы сказать, ПОЧЕМУ соединение было отклонено.   -  person Marc B    schedule 22.11.2013
comment
Вы перезапустили apache после установки среды в sysconfig? Вы проверили с помощью phpinfo, действительно ли переменные были определены в области apache?   -  person ceinmart    schedule 22.11.2013
comment
Я забыл комментарий раньше, если вы проверите доступ / журнал ошибок apache, я уверен, что вы найдете там сообщение об ошибке с более подробной информацией.   -  person ceinmart    schedule 22.11.2013
comment
Привет. Спасибо. Я решаю проблему. Действительно, SELinux был причиной. Я просто setsebool -P httpd_can_network_connect=1   -  person benjy80    schedule 25.11.2013


Ответы (1)


Я решаю проблему. Действительно, SELinux был причиной. я просто делаю

setsebool -P httpd_can_network_connect=1
person benjy80    schedule 09.11.2015