2

我可以从命令行很好地运行我的脚本:php test.php 并连接,返回我的简单查询,然后断开与 oracle 的连接。当我运行时:

isql -v dsn uname pw

它连接,我也可以查询。问题是当我从浏览器运行脚本时,我收到了一个很棒的 500 错误,并且在我的日志文件中出现了一个段错误。现在 apache 不是为调试而编译的(这很烦人)。我希望不必重新安装 apache 并进行调试。

我正在使用:PHP:

PHP 5.3.6 (cli) (built: Mar 17 2011 20:56:13)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

阿帕奇:

Server version: Apache/2.2.17 (Unix)
Server built:   Oct 27 2010 10:04:21
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit

甲骨文客户端:

client64, both sdk and instant client

Linux内核:

2.6.35.13-91.fc14.x86_64

unixODBC:unixODBC.x86_64 2.2.14-12.fc14(来自 yum)

我什至无法运行高级调试或登录 php,因为一旦我在浏览器中访问 URL,apache/php 就会退出。

我目前正在尝试查看是否可以运行:

<?php exec('php test.php'); ?>

看看我能不能暂时解决这个问题。如果需要,我很乐意分享其他任何内容。

4

1 回答 1

1

我猜它几乎可以肯定(假设您在 64 位平台上),因为您使用的 unixODBC 是使用 sizeof( SQLLEN ) == 4 构建的,这是 2.2.x 的默认值,并且 sizeof( SQLLEN ) = = 8 这是 2.3.x 构建的。

于 2011-08-17T15:44:14.203 回答