Oracle TNS 权限被拒绝 *

Oracle TNS Permission Denied *

我正在使用:

正在尝试连接到 Oracle:

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

12546 ORA-12546: TNS:permission denied *

已经在一些回答后给予 0777 权限 /usr/local/oracle/11.2/client64/ 但 none 已解决。

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

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

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

经过几个小时的搜索,我找到了这篇文章:http://www.emsperformance.net/2013/12/20/connecting-to-oracle-database-from-php-with-oci8/,这是迄今为止解释 LAMP、Oracle、Zend 的安装过程的最佳文章。

我缺少的设置是:

setsebool -P httpd_can_network_connect on

编辑:一段时间后,这个答案对某些人来说仍然有用,值得一提的是,发生这种情况是因为机器激活了 SELinux,通常处于 enforcing 模式。我不建议禁用 SELinux,但将其设置为 permissive 看起来可以简化识别它的一些问题的过程。您可以通过 sestatus.

检查 SELinux 状态

SELinux 上布尔值的完整列表可在以下位置获得:https://wiki.centos.org/TipsAndTricks/SelinuxBooleans

综合信息:https://wiki.centos.org/HowTos/SELinux