Apache-2.2

sqlite 和 php 啟用

  • July 16, 2010

我有一個全新安裝的 Fedora 12 並試圖讓 php 和 sqlite 工作我通過安裝 php:yum install php php-devel php-pdo並重新啟動 apache。PHP 頁面工作得很好,但是每當我嘗試載入使用 sqlite 的頁面時,該頁面都不會被處理並返回空白,並且沒有正在處理的 php 程式碼。我用來測試 sqlite 的頁面是:

<html>
<head></head>
<body>
<?php
// set path of database file
$db = $_SERVER['DOCUMENT_ROOT']."/../library.db";

// open database file
$handle = sqlite_open($db) or die("Could not open database");

// generate query string
$query = "SELECT * FROM books";

// execute query
$result = sqlite_query($handle, $query) or die("Error in query: ".sqlite_error_string(sqlite_last_error($handle)));

// if rows exist
if (sqlite_num_rows($result) > 0) {
   // get each row as an array
   // print values
   echo "<table cellpadding=10 border=1>";
   while($row = sqlite_fetch_array($result)) {
       echo "<tr>";
       echo "<td>".$row[0]."</td>";
       echo "<td>".$row[1]."</td>";
       echo "<td>".$row[2]."</td>";
       echo "</tr>";
   }
   echo "</table>";
}

// all done
// close database file
sqlite_close($handle);
?>
</body>
</html>

返回 body 和 html 標籤,但未呈現 php。我的問題是如何使用 sqlite 設置 php。是否必須重新編譯,它們是 rpm 嗎?我正在尋找為 php 啟用 sqlite 的分步方法。謝謝

請參閱您今天早些時候提出的 同一問題的答案。

一位使用者提到只需要安裝最新版本的 php-pdo ( yum install php-pdo) 即可啟用支持。對於大多數使用者來說,這可能是一個不錯的起點,但看起來您已經這樣做了。

這可能是因為我在 PHP 中使用的 SQLite 函式,但這對我在 Fedora 13 上不起作用,所以我的經驗涉及從支持 sqlite 的原始碼重新編譯 PHP(據我所知,它沒有內置到 Fedora Core 4 及更高版本中版本)。我必須從http://php.net/downloads.php下載 PHP 的原始碼並在支持 SQLite 模組的情況下對其進行編譯。

tar xfvj php-5.3.2.tar.bz2 
cd php-5.3.2/ext/sqlite/
phpize
./configure
make
make install
/etc/init.d/httpd restart

引用自:https://serverfault.com/questions/161272