I can run my script just fine from the command line: php test.php and it connects, returns my simple query and then disconnects from oracle. when I run:
isql -v dsn uname pw
it connects and I can query as well. The problem is when I run the script from the browser, I get a wonderful 500 error and a segfault as a present in my log files. Now apache is not compiled for debugging (which is annoying). I would love to not have to reinstall apache with debugging.
I am using: 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-开发者_如何学Go2010 eAccelerator, by eAccelerator
Apache:
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
Oracle Client:
client64, both sdk and instant client
Linux Kernel:
2.6.35.13-91.fc14.x86_64
unixODBC: unixODBC.x86_64 2.2.14-12.fc14 (from yum)
I cannot even run advanced debugging or logging on php because apache/php just quits once I go to the URL in the browser.
I'm currently trying to see if I can run:
<?php exec('php test.php'); ?>
to see if I can, for the time being, get around this. I will gladly share anything else if need be.
I would guess that its almost certainly (given you are on a 64 bit platform) due to the unixODBC you are using being build with sizeof( SQLLEN ) == 4, which was the default for 2.2.x, and sizeof( SQLLEN ) == 8 which is what 2.3.x builds with.
精彩评论