centos7.x安装apache2.4+php7(mongodb扩展)整合篇之三
说明:
本篇博客为整合第三篇:php新增mongodb扩展,并在apache页面显示
第一篇为:安装apache2.4
第二篇为:安装php7.3.4,整合到apache php
环境介绍:
注意,apache和php版本兼容非常重要,如果版本不对应,就会出现各种奇怪报错,之前博主用的php7.3.29总是会出现各种奇怪报错,后来换成php7.3.4安装才成功!!!
系统:centos7.x
apache版本:httpd-2.4.48
php版本:php-7.3.4
mongodb扩展:mongodb-1.8.2
第三篇:php新增mongodb扩展,并在apache页面显示
1、查看php已支持扩展
# php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]
2、安装mongodb扩展
# cd /data/soft/
[ root @ prerelease-php02 10.0.8.50 ] /data/soft
# ll
总用量 28232
drwxr-xr-x 6 root root 186 7月 7 14:51 apache
drwxr-xr-x 15 root root 4096 7月 7 16:21 cmake-3.6.2
-rw-r--r-- 1 root root 6920069 7月 7 15:38 cmake-3.6.2.tar.gz
drwxrwxr-x 12 root root 4096 7月 7 16:25 libzip-1.8.0
-rw-r--r-- 1 root root 1252451 7月 7 15:38 libzip-1.8.0.tar.gz
-rw-r--r-- 1 root root 1292641 7月 7 15:38 mongodb-1.8.2.tgz
# tar xf mongodb-1.8.2.tgz
[ root @ prerelease-php02 10.0.8.50 ] /data/soft
# cd mongodb-1.8.2/
[ root @ prerelease-php02 10.0.8.50 ] /data/soft/mongodb-1.8.2
# /data/service/php73/bin/phpize
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
[ root @ prerelease-php02 10.0.8.50 ] /data/soft/mongodb-1.8.2
# yum install autoconf -y
# /data/service/php73/bin/phpize
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
# ./configure --with-php-config=/data/service/php73/bin/php-config
# make && make install
# echo 'extension=mongodb.so' >> /data/service/php73/lib/php.ini ## 这里注意lib下没有php.ini则新建,非etc下的php.ini
# systemctl restart php-fpm.service
# php -m | grep mongodb
mongodb
能过滤出mongodb,表示新增扩展成功
但是这里会有个问题,就是虽然在服务上能通过php -m查看到相应的扩展已经新增成功,但是在apache页面上访问(IP/test.php)并不能查看到,所以需要做接下来的配置,才能让apache访问到新增的扩展
3、使apache页面通过访问test.php文件能查看到mongodb扩展
# cd /data/service/php73/lib/php/extensions/no-debug-zts-20180731/
[ root @ prerelease-php02 10.0.8.50 ] /data/service/php73/lib/php/extensions/no-debug-zts-20180731
# ll
总用量 8172
-rwxr-xr-x 1 root root 6082864 7月 7 18:00 mongodb.so
-rwxr-xr-x 1 root root 2277904 7月 7 16:40 opcache.so
[ root @ prerelease-php02 10.0.8.50 ] /data/service/php73/lib/php/extensions/no-debug-zts-20180731
# pwd
/data/service/php73/lib/php/extensions/no-debug-zts-20180731
修改 php.ini配置文件,找到 extension_dir 这行,修改成上面扩展保存的路径,如下图
# vim /data/service/php73/etc/php.ini
extension_dir = "/data/service/php73/lib/php/extensions/no-debug-zts-20180731/"
# systemctl restart php-fpm.service
4、验证
打开浏览器,访问IP/test.php(配置test.php在第二篇文章末尾有介绍)
好了,这就是php新增mongodb扩展,并在apache页面显示的方法了,如有问题,可与博主一起交流讨论!