Php
PHP 啟用 sqlite phpinfo states –without-sqlite
我見過類似的問題,但沒有一個能充分解決我的情況。我在亞馬遜雲伺服器上執行 Apache 和 PHP 5.3.6。
phpinfo 一直聲明 sqlite 已禁用。至少從配置行看起來是這樣的:
'./configure' ... '--without-sqlite'
在 phpinfo() 輸出的其他部分:
PDO PDO drivers mysql, sqlite PDO Driver for SQLite 3.x enabled SQLite Library 3.6.20 sqlite3 SQLite3 support enabled SQLite3 module version 0.7-dev SQLite Library 3.6.20 Directive Local Value Master Value sqlite3.extension_dir no value no value
並且至少有一個以下 PHP 命令失敗:
if (!extension_loaded('SQLite') OR !function_exists('sqlite_open'))
Yum install 表明已經安裝了 sqlite 和 pdo-lite。
我試圖通過編輯我的本地 php.ini 來啟用 sqlite,方法是添加:
; Enable sqlite3 extension module extension=sqlite3.so
我已經檢查了主要的 php.ini (/etc/php.ini) 並沒有關於禁用它的具體內容。事實上,在 php.d 中載入了一個子 conig 文件,它也指定了這個副檔名以及 pdo-sqlite 的另一個
我正在尋找或嘗試的東西。有什麼建議麼。
如何找到說明 PHP 配置的位置?
謝謝
您的程式碼沒有正確指定副檔名,所以它當然會失敗。如我們所見,正確的副檔名是
sqlite3
.if (!extension_loaded('SQLite')...
反正。
PHP 的 RPM 建構實際上將 PHP 重新建構了四次。它在沒有啟用任何擴展的情況下建構一次,用於載入到 Apache 中
mod_php
,然後使用所有擴展作為共享記憶體對象再次建構。還有一個 PHP 命令行的建構,以及我現在忘記其用途的第四個建構。所以發生的情況是,沒有內置擴展的建構與從其他建構建構的擴展捆綁在一起。因此 PHP 可能會說它被配置為沒有任何擴展,但仍然可以使用它們。