我可以从命令行很好地运行我的脚本: php test.php,它连接,返回我的简单查询,然后断开与oracle的连接。当我运行时:
isql -v dsn uname pw它可以连接,我也可以查询。问题是,当我从浏览器运行脚本时,我在日志文件中得到了一个奇妙的500错误和一个segfault。现在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 eAcceleratorApache:
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-bitOracle客户端:
client64, both sdk and instant clientLinux内核:
2.6.35.13-91.fc14.x86_64unixODBC: unixODBC.x86_64 2.2.14-12.fc14 (来自yum)
我甚至不能在php上运行高级调试或登录,因为apache/php在我转到浏览器中的URL时就退出了。
我现在正在试着看我是否可以运行:
<?php exec('php test.php'); ?>看看我能不能暂时绕过这个问题。如果需要的话,我很乐意分享任何其他的东西。
发布于 2011-08-17 23:44:14
我猜这几乎是肯定的(假设你是在64位平台上),因为你正在使用的unixODBC是用sizeof( SQLLEN ) == 4和sizeof( SQLLEN ) == 8构建的,sizeof(SQLLEN)==4是2.2.x的默认值。
https://stackoverflow.com/questions/6998984
复制相似问题