oci_connect PHP中的空白页面

Bry*_*yan 5 php oracle pecl oci8

更新(5/21/2010)成功!

所以在MUCH $ head-> desk()之后,我已经解决了.

记住孩子,要警惕你使用的即时客户端版本,这取决于虚拟化设置!

我一直在安装通用的即时客户端(不知道我们的ESX服务器位于AMD处理器上,而不是英特尔),而且内部工作正常(CentOS安装是32位,因为我们的内部ESXi服务器不是64位).好吧,即使您在位于AMD64上的虚拟化服务器上​​运行32位安装,您安装的即时客户端仍然很重要.

这是我想要检查的最后一件事但是看起来现在一切都运行正常.

我要感谢所有帮助我完成所有可能测试的人,但最终,我没有意识到虚拟化的差异.


更新(2010年5月21日) 当我在内部安装新VM时,我认为这个错误已经逃脱了,但我现在发现了一个缩小的链接.

当我发布这个时,我试图在我们的生产服务器上安装它.经过一周没有进展并且需要重新开发之后,我在我们的内部服务器上配备了一个全新安装的Crap ... CentOS,以及全新安装的即时客户端和oci8.

工作得很完美.

但是,我们只是将VM的精确副本上传到我们的生产服务器,它神奇地不再有效.尝试重新安装一切,无济于事.

所以我唯一可以解决的问题是防火墙问题(虽然我在尝试127.0.0.1时遇到同样的问题)或可能是ESX(我们的生产服务器)服务器问题,但内部服务器正在运行ESXi.

有什么想法吗?

更新(2010年3月8日)我安装了Xdebug并让它跟踪我的代码.这是我得到的输出:

TRACE START [2010-03-08 17:53:05]
    0.2090     327864   -> {main}() /data/aims3/http/octest.php:0
    0.2091     327988     -> ini_set(string(14), string(1)) /data/aims3/http/octest.php:3
    0.2093     327920     -> error_reporting(long) /data/aims3/http/octest.php:4
    0.2094     328048     -> oci_connect(string(8), string(8), string(25)) /data/aims3/http/octest.php:6
Run Code Online (Sandbox Code Playgroud)

跟踪在此时停止.

我已经在本地服务器上以相同的方式安装了一切,它工作正常.说我完全失败就会轻描淡写.


*注意:我运行了make test并且在每次测试时都返回了FAIL.我从来没有在我的工作机器上运行它,看它是否报告相同的错误.知道为什么make test会报告FAIL但是make不会报告任何错误吗?

我已经安装了没有报告错误的Oracle Instantclient以及OCI8 PECL软件包而且不知所措.每当我尝试使用oci_connect打开连接时,它都会暂停我的整个PHP脚本.

例:

<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
$conn = oci_connect("username", "password", "host");
echo "after";
?>
Run Code Online (Sandbox Code Playgroud)

返回一个完整的空白页面.加载模块(在phpinfo中看到),所有安装都没有错误.

我完全失去了.

CentOS:5.4

Apache:2.2.3

PHP:5.3.1

InstantClient:11.2

oci8:1.4.1

有什么想法吗?

笔记

Apache错误日志没有任何报告

尝试调试:

1:

<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
if(!function_exists('oci_connect')) die('Oracle Not Installed');
echo "after";
?>
Run Code Online (Sandbox Code Playgroud)

返回:

beforeafter
Run Code Online (Sandbox Code Playgroud)

2:

将主机更改为//主机

返回:

同样的错误

Bry*_*yan 0

它已被修复。有关详细信息,请参阅顶部,但这里是悬崖注释:虚拟化环境很重要。