2012-01-26 65 views
0

我試圖通過ODBC連接到一個Netezza數據庫(不是很重要)。PHP:obdc_exec()在Zend Model中無聲無息

重要的是,我試圖在Zend模型中打包手動odbc調用。 Zend沒有ODBC適配器。我發現一個最終會遇到同樣的問題,我現在正在通過,所以我希望這是同樣的問題,如果我解決了問題,我可以拋棄手動hackery。我也嘗試了一個PDO對象,但它有相同的問題。

因此,代碼是這樣的(帶參數明顯僞造,供市民瀏覽):

$conn = odbc_connect('dsn','username','password'); 
$sql = "SELECT site_name FROM sites"; 
$test = odbc_exec($conn, $sql) or die(odbc_errormsg()); 
echo "Made it this far."; 

這裏的問題:當我粘貼那四線到一個獨立的文件,它的工作原理和最後一行將回顯。然後我可以從$ test中抽取數據並將其吐出。但是,如果我將這四行粘貼到自定義模型中的某個方法中,則odbc_exec()會以靜默方式失敗。最後一行不回顯。連接正在進行,$ conn完全是一個資源,但它只是在odbc_exec()期間停止。如果這是一個巨大的查詢,它需要很長時間,然後停止/失敗/什麼也不做。

我不知道爲什麼會發生這種情況,我瘋了。 Zend不應該混淆這一點,這些線是完全獨立的。

任何幫助將不勝感激,謝謝。

+0

什麼都出現在php錯誤日誌中? – BartekR

+0

在error_log中發現:[2012年1月26日12:43:13] [注意] child pid 28979退出信號分段錯誤(11),可能在/ var/tmp/core中出現coredump每次嘗試運行腳本。 –

+0

只是猜測 - 也許試圖檢查轉儲?像在http://serverfault.com/questions/297688/advice-for-debugging-apache-with-php-segmentation-faults/299592#299592或嘗試使memry_limit更高? – BartekR

回答

0

我剛剛解決了類似的問題。更新unix_odbc和PHP到最新版本,它的功能就像一個魅力。