gpt4 book ai didi

php - ORA-12154 PHP OCI8 悲痛

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:47 32 4
gpt4 key购买 nike

使用 Oracle 的 11g XE(免费版)配置 CentOS 5.6 服务器,在 this guide 的帮助下安装 OCI8并获得了一个与数据库通信的预先存在的(自定义)PHP 应用程序,没有任何问题。调用该服务器 Dev 并开始下一个构建。

我现在正在开发的 Prod 服务器和 Dev 一样,只是 Oracle 11G 是标准版,而不是免费版。据我所知,其他一切都是相同的。绝对相同的 OCI RPM。

Warning: ocilogon() [function.ocilogon]: ORA-12154: TNS:could not resolve the connect identifier specified in /var/www/html/blah/blah.php

我确信我有一个“环境”问题,但我不知道如何解决它。

Oracle、Apache、OCI8 和 PHP 都在同一个盒子上。

什么有效:

  • tnsping orcl 来自 Prod 服务器。
  • sqlplus user@orcl 来自产品服务器。
  • phpconfig(); 显示所有 OCI8 内容。比较 Dev 和 Prod 上的结果,它们是相同的。
  • 我还可以从 VPN 另一端的 XP 客户端通过 Toad 进行连接。

我只能让PHP 与数据库对话。快把我逼疯了!

在Prod服务器上全局搜索了一下,只有一个tnsnames.ora文件。这是它的样子:

ORCL = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = orcl)
) )

我应该提供什么帮助?请发表评论。

真的不想在 Prod 盒子上压平并重新开始...请帮我解决这个问题!

[编辑]
它没有找到听众,我猜。出于好奇,我停止了监听器服务并确认错误没有任何变化。

应要求,这里有一些代码。

抛出我上面提到的错误的代码:

$dbh = OCILogon($vars[oracle_login], $vars[oracle_pwd], $vars[oracle_instance]);

变量在另一个文件中设置:

...

但我们可以跳过它。在将它们复制并粘贴到此处时,我花了一些时间来排列括号 - 并发现了一个额外的括号。

打字错误!

呵呵。/捂脸。

最佳答案

在完成显示一些代码的请求时,我花了一些时间对其进行格式化并将其全部排成一行。那时,我发现了一个额外的括号。

修复问题。

抱歉所有的阅读!

关于php - ORA-12154 PHP OCI8 悲痛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8411744/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com