当前位置: 首页 > 知识库问答 >
问题:

无法使用Apache(FPM)连接到Oracle(oci8)。PHP7。x CLI正常

麻阳
2023-03-14

我做了一个连接到Oracle的PHP脚本。当我用CLI模式运行它时,它工作得很好(#phptest-oracle.php)

但是在浏览器中打开的同一个脚本(Apache PHP 7.x FPM)不起作用,我得到了以下错误:

oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries

我阅读并关注我在论坛(也在stackoverflow)中找到的许多东西,但对apache没有任何效果。

Ubuntu 16.04 LTS/Apache 2.4.33/PHP 7.1.18

谢谢!

共有1个答案

秦信瑞
2023-03-14

我找到了解决办法,所以回答我自己。

我的Oracle Instant Client版本有点太旧(11.2.x),我更新到了一个新版本(12.1.x),并遵循我的案例的标准指南(见下文)。现在,它与apache一起工作,没有其他功能

https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703

所以我猜是一些权限问题或类似的东西与这个库。

再次感谢你的帮助!

 类似资料:
  • 提前感谢所有的帮助。我无法使用OCI8将我的PHP连接到ORACLE。我用的软件规格是 Windows 10版本:主64位 我使用NAVICAT作为我的mysql客户端,并且能够使用它连接到数据库。像instant client path和sqlplus这样的设置必须在这一点上进行设置,并且所有设置都可以正常工作。 现在真正的问题是使用OCI8将PHP连接到ORACLE。我已经使用这个链接下载了正

  • 我使用的是Oracle 11g R2数据库。我使用Oracle SQL Developer。如果我创建了一个新连接并检查了基本连接类型并填写了我可以连接的字段。如果我选择TNS并在下拉菜单中选择我想要的,它会显示失败E/S异常:网络适配器无法建立连接。 这是tnsnames.ora。我用它连接到2个数据库,dblilly和astrea。我可以正确连接到astrea。侦听器已打开,实例已准备就绪。你

  • 高层目标是将NIFI连接到Oracle db服务--但只能使用Kerberos进行身份验证。 我们正在运行Apache NIFI1.9.2,并试图通过DBCPConnectionPool控制器服务连接到Oracle(使用驱动程序版本12.1)。我配置了一个KeytabCredentialService控制器服务,并在我的DBCP控制器服务中引用它。 我将Oracle驱动程序类名设置为“Oracle

  • 我无法使用R Studio连接到Oracle数据库。 下面是我为设置连接而执行的代码。 以上代码已成功执行。 我在下面的代码中得到一个错误。 错误. jcall(drv@jdrv,"Ljava/sql/Connection;","Connec",as.character(url)[1],:java.sql.SQLExctive:指定无效的Oracle URL 我的R版本是3.4.0

  • 我在我的C#(. NET 4.0)项目中使用Oracle. ManagedDataAccess Nuget Package Version 12.1.022。该包自动在app.config文件中创建条目。如何从该文件中读取数据源字符串才能连接到数据库? 系统。配置。配置管理器。应用设置。获取(“数据源”); 对我不起作用

  • 我正在努力使用JDBC建立与数据库的连接。我已经做了留档中提到的所有必要的事情。 > 我的笔记本电脑上有数据库-Oracle XE 11g rel.2,SID="xe",SQLDeveloper检查 我有适当的驱动程序-ojdbc6.jar-并将其添加到我的项目在Eclipse的Java构建路径属性 我写了几行基本的尝试/捕捉块来建立连接: 但是在运行我的代码后,我收到错误“指定了无效的Oracl