快照启动后:Informix客户端-23101/Oracle即时客户端-28759
不要浪费您的时间,我会描述我所拥有的& &现在我拥有的东西。我的应用程序是用PHP编写的。他们住在使用nginx + apache web服务器的redhat6服务器上。我们将数据存储在MySQL DB中,但我们有大量来自Oracle和IBM Informix DB的导入,& mssql。对于Oracle & Informix我已经安装了客户端& &已编译的库pdo_oci.so & pdo_informix.so。几个月后,他们按预期工作。快照启动后:Informix客户端-23101/Oracle即时客户端-28759
但是一个星期前,管理员对虚拟服务器做了一个快照,并重新加载它。现在只有MySQL和mssql连接器可以工作,并且IBM客户机会出错。
甲骨文:-28759
Failed : SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-28759: failure to open file (/usr/local/src/php-5.3.3/ext/pdo_oci/oci_driver.c:579)/opt/project/www/test.php149
IBM的Informix:-23101
Failed : SQLSTATE=HY000, SQLDriverConnect: -23101 [Informix][Informix ODBC Driver][Informix]Unspecified System Error = -23101./opt/project/www/test.php146
那么,作为官方单证说,Informix的错误与DB_LOACALE &失去的ENV变量连接CLIENT_LOCALE ...等。
这是奇怪的,因为这一切的时候,我就是用这个字符串我的连接:
$dbh = new PDO ("informix:host=example.ru; database=some_db; server=db_net; CursorBehavior=0; DB_LOCALE=en_US.57372; CLIENT_LOCALE=en_US.57372;", "db_login", "pass");
我试图建立的Apache(httpd的)这个ENV变量,但这个错误仍然适应。现在我在服务器重启后设置了这个变量,但没有成功。可能是我'做错了什么,或者在错误的地方或用户名称...
关于Oracle,文件说,它与文件加载连接:
和Web医生说它主要是ssl错误,并且与客户端的问题相关,即无法找到SSL Wallet文件。我使用钱包让TCPS与Oracle DB保持安全连接,我记得让Instant客户端查看正确的位置真的很麻烦。更重要的是,我启用了客户端跟踪功能,但是它仅在从终端直接使用sqlplus时才写入日志。当我运行我的PHP脚本时,我只有错误并没有记录。
问题:
如何正确启用Informix的变量,或如何解决不同的方式这个 问题。
如何启用oracle的“网络跟踪”到 看看他在找什么?
- 如何存储未来的变量 重新启动/重新加载/快照等。 ?
这可能与file/dir权限有关,而不是env变量。 oracle错误似乎表明它不能再打开/读取它需要的文件。
informix -23101错误也可能是由于驱动程序无法读取语言环境支持所需的GLS文件引起的。
apache用户是否可以访问Informix Client SDK目录和文件?
很好地解决这个麻烦我搜索如何获得最有价值的信息:。什么系统正在做我发现了大约strace的命令信息 – Altenrion
我创建使用它的日志并发现了很多,现在我的问题已经解决了,也许不是最好的方式,但是仍然存在问题,不同的用户使用php的confs连接,root用户正在搜索/root/.sqlnet中写入的钱包文件。 ora,但是在apache用户下的php正在默认路径etc/apache/...下查找它是否与读取sertificates文件有关联现在Oracle连接正在工作Informix仍然不能正常工作 – Altenrion
Informix没有与用户连接如果我在/usr/local/src/php-5.3.3/sapi/cli/php下调用test,比测试失败 'sudo -u root strace -o /tmp/web_informix.log /usr/local/src/php-5.3.3/sapi/cli/php/opt/project/www/test_console.php 但是,如果/ usr/local/bin/php或/ usr/bin/php,连接成功。 'strace -o /tmp/web_debug.log/usr/bin/php/opt/project/www/test_console.php 在日志中,直到日志结束时才会有错误。 我可以提供两个成功和失败连接的文件,如果有人可以帮助他们。 – Altenrion
人。 启用所有可能的追踪并使用“strace”命令检查程序失败的位置!
感谢LuísMarques!我在我的日志中发现了gls,并试图将它链接到真正的IBM/informix/gls ...比另一个msg问题更复杂...... /我将从/ usr/informix软链接到我的真实/ opt/IBM/informix和所有连接都成功唤醒!
谢谢你的男人。你真的帮我完成了这个麻烦。我发布这个作为答复,但将接受你的感谢你! =)
很高兴我可以得到一些帮助。这可能是由env变量'$ INFORMIXDIR'被设置为不同的位置引起的。可能是Web服务器/ php的配置文件之一。 –
$ INFORMIXDIR变量已设置,并且正在倾向于/ opt/IBM/informix目录,但我认为apache无法看到它.. – Altenrion
还没有评论... =( – Altenrion