【发布时间】:2013-12-07 13:01:54
【问题描述】:
我只是尝试使用 Informix 驱动程序创建到数据库的连接。
服务器在 CentOS 6.4 上运行,带有 PDO_INFORMIX-1.3.1 和 clientsdk.4.10.FC2DE.LINUX。
我在 /etc/sysconfig/httpd 中设置了 env var,然后运行这个命令:
- 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
- setenforce 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中设置主机,没有成功。
我不知道如何解决这个问题。任何人都可以帮助我吗?
【问题讨论】:
-
如果是 selinux,会有日志跟踪说明连接被拒绝的原因。
-
你在 sysconfig 设置环境后重启了 apache 吗?如果变量真的是在 apache 范围内定义的,你检查过 phpinfo 吗?
-
我之前忘记评论了,如果您检查 apache 的访问/错误日志,我很确定您会在那里找到包含更多详细信息的错误消息。
-
嗨。谢谢你。我解决问题。确实,SELinux 是原因。我只是做“setsebool -P httpd_can_network_connect=1”
标签: php linux pdo odbc informix