php manpage sais,你必须通过PECL安装sqlite,所以我尝试了最新版本:
cd /tmp/
wget https://pecl.php.net/get/SQLite-1.0.3.tgz
tar xvzf SQLite-1.0.3.tgz
cd SQLite-1.0.3/
phpize
但我不能像这样在Ubuntu 15.10上安装php_sqlite。我在make
处收到错误:
/tmp/SQLite-1.0.3/sqlite.c: In function 'zif_sqlite_open':
/usr/include/php5/main/php_globals.h:32:29: error: 'struct _php_core_globals' has no member named 'safe_mode'
还有更多,还有一个真正的版本在PHP 5.6上运行吗?
我想运行一个使用函数sqlite_open
安装软件包并没有成功:
apt-get install php5-sqlite
所以也许有一个好的包装库,使用SQLite3::open来模拟旧函数?
答案 0 :(得分:3)
我已经在这里唠叨了几天,但这最终对我有用:
sudo apt-get install php5.6-sqlite3
我有php5.6
作为可执行文件,因此我确认php5.6 -m
显示sqlite3
已加载,而且是。{/ p>
之后,我能够执行以下简单脚本。以前它告诉我没有找到SQLite3类。
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('test.db');
}
}
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
答案 1 :(得分:0)
据我所知,pecl page显示该包最后一次更新是在2004年。您链接的链接还指出:&#34;(PHP 5&lt; 5.4.0,PECL sqlite&gt; = 1.0 0.0)&#34 ;.简单地说它不适用于5.6。
如果这是一个选项,你应该只安装默认包而不是使用pecl。对于ubuntu,这是php5-sqlite。
您关联的扩展程序非常陈旧。我建议您查看SQLite3 <{3}}
。included by default.