php sqlite3 安装,去除php7编译安装的模块sqlite3

1b886e01fb6cf6771d2069176464ece5.png

去除php7编译安装的模块,这里以sqlite3为例

SQLite3 扩展自 PHP 5.3.0 起已默认启用。 允许在编译时使用 --without-sqlite3 禁用之

背景

我在开发项目的时候需要使用php连接加密的sqlite数据库,但是php默认编译的sqlite扩展不支持连接加密的sqlite数据库,因此我必须把编译安装的sqlite3移除掉,安装支持连接加密的sqlite数据库的扩展

前提

假设你已经编译安装好了php7,且在编译安装php7的时候未显示禁止 --without-sqlite3,导致这个模块已经被编译安装进php,满足这个前提下,再来看这篇文章

如果不知道如何编译安装php7,请参考这篇文章centos7编译安装php7

查看文章的过程中,一定要注意各个命令的操作路径,需要将这些路径替换成你自己开发环境中的路径,切记

文章中php7.1 命令只是对php命令的一个软连接,如果不清楚,请仔细阅读这篇文章centos7编译安装php7

查看php安装好的模块

[root@localhost ~]# php7.1 -m

[PHP Modules]

bcmath

Core

ctype

curl

date

dom

fileinfo

filter

ftp

gd

gettext

hash

iconv

json

libxml

mbstring

mcrypt

mysqli

mysqlnd

openssl

pcntl

pcre

PDO

pdo_dblib

pdo_mysql

pdo_sqlite

Phar

posix

rdkafka

redis

Reflection

session

shmop

SimpleXML

soap

sockets

SPL

sqlite3

standard

swoole

sysvsem

tokenizer

xdebug

xml

xmlreader

xmlrpc

xmlwriter

zip

zlib

[Zend Modules]

Xdebug

[root@localhost ~]#

可以看到sqlite3确实已经被安装好了,因为这是php默认启用的,所以在php.ini文件中,你是看不到这个扩展有被显示启用也就是类似这样的代码

extension=sqlite3.so

重新编译php

进入php的源码文件,也就是你当初编译安装php时的文件,如果你已经删除了,就使用php7.1 -v 查看php的版本,然后去php的官网,重新下载php的源码即可,获取源码的方式可以参考这个文章,当然你也可以自己去找

进入源码文件

[root@localhost php-src-php-7.1.6]# pwd

/usr/src/php7.1.6/php-src-php-7.1.6

[root@localhost php-src-php-7.1.6]#

清除历史编译文件

[root@localhost php-src-php-7.1.6]# make clean

find . -name *.gcno -o -name *.gcda | xargs rm -f

find . -name *.lo -o -name *.o | xargs rm -f

find . -name *.la -o -name *.a | xargs rm -f

find . -name *.so | xargs rm -f

find . -name .libs -a -type d|xargs rm -rf

rm -f libphp7.la sapi/cli/php sapi/cgi/php-cgi sapi/fpm/php-fpm modules/* libs/*

重新生成编译配置

[root@localhost php-src-php-7.1.6]# ./buildconf --force

Forcing buildconf

Removing configure caches

查看历史编译配置

[root@localhost php-src-php-7.1.6]# php7.1 -i | grep configure

Configure Command => "./configure" "--prefix=/usr/local/php7.1" "--exec-prefix=/usr/local/php7.1" "--bindir=/usr/local/php7.1/bin" "--sbindir=/usr/local/php7.1/sbin" "--includedir=/usr/local/php7.1/include" "--libdir=/usr/local/php7.1/lib/php" "--mandir=/usr/local/php7.1/php/man" "--with-config-file-path=/etc/php7.1.6" "--with-mysql-sock=/tmp/mysql.sock" "--with-mcrypt" "--with-mhash" "--with-ope

你可能感兴趣的:(php,sqlite3,安装)