2012-09-14 27 views
-1

我如何在Ubuntu 11.10配置sqlite2和sqlite3的,無論是在PHP 5.3.6?如何在Ubuntu上配置sqlite2&3在PHP 5.3.6 11.10

我兩個PHP項目的工作:一個使用sqlite2,另一個使用sqlite3的。我正在使用Ubuntu 11.10。我的問題是,我的sqlite2代碼不運行;它給出了錯誤Fatal error: Call to undefined function sqlite_open()。我想運行這兩個代碼。

+0

聽起來像是你沒有必要的PHP模塊裝載。你有沒有試過'php -m'來檢查? – halfer

+0

也許有用? http://stackoverflow.com/questions/4788853/call-to-undefined-function-sqlite-open – halfer

+0

@halfer謝謝,但我的要求是,我想同時運行代碼sqlite2和sqlite3的。我已經嘗試過php -m命令在列表中顯示sqlite3,但不顯示sqlite2,所以如何同時支持 – Hkachhia

回答

1

聽起來像是你需要確定什麼版本可以在PHP中,然後相應地使用正確的功能。我從你的評論中假設,sqlite模塊將在擴展列表中顯示爲「sqlite」或「sqlite3」(我自己不使用它們)。

$sqlite2 = extension_loaded('sqlite'); 
$sqlite3 = extension_loaded('sqlite3'); 
if (!$sqlite2 && !$sqlite3) 
{ 
    die('Neither extension loaded'); 
} 

if ($sqlite2) 
{ 
    // Use sqlite_open() 
} 
else 
{ 
    // Use sqlite3::open() 
} 

您可能希望編寫一些快捷功能,因此您不必將版本檢查放入代碼中。

+0

根據你的代碼,每次進入其他方式都意味着沒有可用於sqlite2的驅動程序我是對的嗎? – Hkachhia

+0

我不明白你的問題。我的代碼方法是:如果sqlite2接口在PHP中可用,則可能意味着在計算機上安裝了sqlite2;如果sqlite3接口可用,則可能意味着在機器上安裝了sqlite3。 – halfer

+0

啊...你想同時運行版本2和版本3嗎? – halfer