正如你们中的许多人所做的那样,本周我从 Lucid 升级到 Precise,几乎所有东西似乎都能找到。
除了…… SQLite,它以前运行良好,但现在不行了。
我检查了一切:phpinfo()、php.ini、sqlite3.ini。
该sqlite命令工作正常,但是当我尝试使用 PHP ... *PLOP* 时,没有任何效果。
我收到消息
Fatal error: Class 'SQLiteDatabase' not found in /var/www/test/sqlite/index.php on line 4
Run Code Online (Sandbox Code Playgroud)
第 4 行正在
$db = new SQLiteDatabase('test.sqlite', 0666);
Run Code Online (Sandbox Code Playgroud)
任何提示?
编辑
你可以在这里看到我的 phpinfo():http : //pastebin.com/jQ7Bz0GN
apache日志是
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Run Code Online (Sandbox Code Playgroud)
扩展
根据PHP 站点上的供应商特定数据库扩展页面,有两个SQLite扩展:
SQLite3扩展是SQLite的更新替代品,它很快就会过时:
自 PHP 5.0 起默认启用 SQLite 扩展。
从 PHP 5.4 开始,SQLite 扩展只能通过 PECL 使用。
Ubuntu 10.04 与 12.04
现在,一些实用性。让我们看一下使用以下命令安装的默认 Web 服务器配置:
sudo apt-get install apache2 php5 php5-sqlite
Run Code Online (Sandbox Code Playgroud)
Ubuntu 10.04:
# php --ri sqlite
SQLite
SQLite support => enabled
PECL Module version => 2.0-dev
SQLite Library => 2.8.17
SQLite Encoding => UTF-8
# php --ri sqlite3
sqlite3
SQLite3 support => enabled
SQLite3 module version => 0.7-dev
SQLite Library => 3.6.22
Run Code Online (Sandbox Code Playgroud)
Ubuntu 12.04:
# php --ri sqlite
Extension 'sqlite' not present.
# php --ri sqlite3
sqlite3
SQLite3 support => enabled
SQLite3 module version => 0.7-dev
SQLite Library => 3.7.9
Run Code Online (Sandbox Code Playgroud)
因此,Ubuntu 12.04 默认 PHP 安装(截至撰写本文时 - 版本 5.3.10)已经没有sqlite内置扩展。上面的输出表明只有sqlite3扩展存在,它来自php5-sqlitepackage.json。
解决方案
选择你的邪恶:
| 归档时间: |
|
| 查看次数: |
9014 次 |
| 最近记录: |