【问题标题】:PDO Informix ODBC Driver work with PHP CLI but not in browserPDO Informix ODBC 驱动程序可与 PHP CLI 一起使用,但不能在浏览器中使用
【发布时间】: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


【解决方案1】:

我解决了这个问题。确实,SELinux 是原因。我只是这样做

setsebool -P httpd_can_network_connect=1

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2017-11-05
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多