Я обнаружил, что мне нужно сгенерировать заголовочные файлы перед последним шагом
, поэтому полные шаги выглядят так:
$ yum install libsqlite3x-devel
$ wget -c http://www.sqlite.org/src/tarball/SQLite-trunk.tgz?uuid=trunk -O SQLite-trunk.tgz
$ tar -xzf SQLite-trunk.tgz
$ cd SQLite-trunk
$ ./configure
$ make fts5.c sqlite3.h sqlite3ext.h
$ gcc -g -fPIC -shared fts5.c -o fts5.so
Затем я должен был загрузить fts5.so
как загружаемыйрасширение для sqlite
1- Скопируйте файл fts5.so
в новую папку на сервере /sqlite_ext
$ mkdir /sqlite_ext
$ cp fts5.so /sqlite_ext
2 - Редактируйте sqlite3.extension_dir
в php.ini
, чтобы указать на то же самоеПапка, как это
sqlite3.extension_dir = "/sqlite_ext"
3- Затем в моем php-файле загрузите расширение:
$db->loadExtension('fts5.so');
Обновление:
Лучше обновить SQLite серверав целом с опцией --enable-fts5
$ wget -c https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
$ tar -xzf sqlite-autoconf-3280000.tar.gz
$ cd sqlite-autoconf-3280000
$ ./configure --enable-fts5 --prefix=/usr --disable-static CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_SOUNDEX"
$ make
$ make install
Теперь последняя версия SQLite установлена для сервера , но не для PHP, давайте сделаем это для PHP
$ mv aclocal.m4 config.m4
$ phpize
Проверьте версию SQLite на сервере, используя $ sqlite3 --version
, и в PHP, используя phpinfo();
* уведомление: ссылка, упомянутая в первом шаге, предназначена для самой последней sqlite-autoconf amalgamation
ввремя этого ответа.там может быть более свежая версия для вас. отметьте здесь