我试着问php -在启用fts3的情况下,php5-sqlite3 3有二进制包吗?-询问这个问题,但是没有骰子--所以我将用不同的话再试一次:如何在Ubuntu服务器上启用SQLite3下的FTS3?
我希望使用Sqlite为Mediawiki启用FTS3 --我通常会得到"no such module: fts3“错误。
我发现:
php5-sqlite3并从源代码中安装sqlite3 (尽管没有具体提到FTS3)这是错误:‘SQLSTATEHY000:通用错误:1没有这样的模块: fts3’有一个编译时选项: SQLITE_ENABLE_FTS3
..。我猜,最终哪种方式可以激活FTS3 for SQlite3 ?除了从源代码为SQlite3构建SQlite3之外?这对我来说不是个好选择,因为我在生产服务器上没有权利.这就是为什么我要再问一遍:是否有某种二进制包可以帮助我启用FTS3?
如果没有二进制包,我想php的sqlite3部件将被编译为一个.so对象。有没有办法说服PHP仅仅为特定的服务器目录加载“外部”.so (类似于设置如何在本地更改display_errors )?
编辑:额外的问题:假设我已经从源代码中安装了启用了sqlite3的FTS3;PHP会在phpinfo()中显示某种消息/指示吗?该消息将是什么?
谢谢你的回答,
干杯!
发布于 2011-07-19 21:27:58
使用来自如何为php启用sqlite3?-堆栈溢出的答案,而不是
$ sudo ./configure你需要
$ sudo CPPFLAGS="-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS" ./configure贷给:sqlite - fts3手册.为了澄清,您不需要安装单独的php5-sqlite3包,因为如果您查看http://pecl.php.net/get/sqlite3-0.6.tgz,就会看到其中包含了php_sqlite3。顺便说一句,安装文件中的重要行:
确保extension=sqlite3.so在您的php.ini中
发布于 2018-02-18 12:14:00
您不需要重新编译sqlite扩展。您可以将扩展加载为:
<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('myExtension.so');
?>https://stackoverflow.com/questions/6754212
复制相似问题