Zend framework Oracle TNS权限被拒绝*

Zend framework Oracle TNS权限被拒绝*,zend-framework,oracle10g,centos6,Zend Framework,Oracle10g,Centos6,我正在使用: CentOS 6.7 Zend.1.2.15使用oci8,使用instantclient 11.2 x64 PHP 5.4.45 正在尝试连接到Oracle: Oracle Database 10g 10.2.0.4.0版 已检查凭据,已尝试连接到其他Oracle服务器,但错误仍然相同: 12546 ORA-12546: TNS:permission denied * 在回答了一些问题后,已经向0777授予了/usr/local/oracle/11.2/client64/

我正在使用:

  • CentOS 6.7
  • Zend.1.2.15使用oci8,使用instantclient 11.2 x64
  • PHP 5.4.45
正在尝试连接到Oracle:

  • Oracle Database 10g 10.2.0.4.0版
已检查凭据,已尝试连接到其他Oracle服务器,但错误仍然相同:

12546 ORA-12546: TNS:permission denied *
在回答了一些问题后,已经向0777授予了
/usr/local/oracle/11.2/client64/
权限,但没有一个问题得到解决

服务器没有任何类型的黑名单中的IP

相同的代码在任何其他带有OracleInstantClient的Windows PC上运行,服务器上不需要进一步配置,即授予IP访问权限或任何权限


还有什么我可以检查的来解决这个问题吗

经过几个小时的搜索,我找到了这篇文章:这是迄今为止解释LAMP、Oracle、Zend安装过程的最好的文章

我缺少的设置是:

setsebool -P httpd_can_network_connect on
编辑:过了一会儿,这个答案对某人来说仍然有用,值得一提的是,这是因为机器激活了SELinux,通常处于
强制执行
模式。我不建议禁用SELinux,但将其设置为
permissive
看起来可以简化识别某些问题的过程。您可以通过
sestatus
检查SELinux状态

有关SELinux上的布尔值的完整列表,请访问:


总体信息:

您确定要使用即时客户端吗?您没有在第一次看到的机器上安装完整的客户端?@AlexPoole from,安装的文件是:oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm和oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm。是,我知道你已经安装了即时客户端;但是你已经有了完整的客户了吗?您能看到PHP实际使用的是哪些Oracle二进制文件和库吗?我这样问是因为我知道,当权限错误时,完整的客户端(或服务器)软件可能会出现错误,但我不知道如何使用即时客户端。不过这只是一个猜测。我认为我没有一个完整的客户端,没有。据我所知,PHP使用oci8作为库。是否应该运行任何命令来检查是否安装了完整客户端?不是UNIX专家。我用过它,然后它就解决了我的问题,我的一个建议是,如果你有一个laravel 7/centos 7/oci8,只需使用setsebool httpd即可连接网络