2011-08-09 49 views
2

我可以從命令行運行我的腳本:php test.php和它連接,返回我的簡單查詢,然後從oracle斷開連接。當我運行時:PHP unixODBC Apache Segfault

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 

Oracle客戶端:

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高級調試或日誌因爲Apache/PHP剛剛退出有一次我去在瀏覽器的URL。

我目前想看看我是否能運行:

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

,看看我能,暫時,解決此得到。如果需要,我會很樂意分享任何其他內容。

回答

1

由於您使用的是使用sizeof(SQLLEN)== 4構建的unixODBC,我猜測它幾乎可以肯定(因爲您在64位平臺上),這是2.2.x的默認值,sizeof (SQLLEN)== 8這是2.3.x構建的內容。

+0

好的,所以我的行動方針是重新編譯和重建unixODBC驅動程序?我不能只使用「yum install」命令? – lilott8

+1

這將是我的建議。 2.2.14現在已經快3歲了。 –

+0

我會試試這個。謝謝。 – lilott8