PHP动态扩展模块安装

PHP扩展模块安装

编译httpd时,有涉及动态和静态模块,PHP也一样有静态与动态之分,之前所涉及到的PHP安装都全部为静态,并没有任何动态的模块,所谓动态,就是一个独立存在的.so文件,在httpd中PHP就是以动态模块的形式被加载的。PHP一旦编译完成后,要想再增加一个功能的话,要么重新编译PHP,要么直接编译一个扩展模块(生成一个.so文件),然后在php.ini中配置一下,就可以被加载使用了。

1、查看PHP加载的模块

[[email protected] ~]# /usr/local/php/bin/php -m
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

2、安装一个PHP扩展模块(redis模块)

[[email protected] ~]# cd /usr/local/src/
[[email protected] src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop
[[email protected] src]# mv develop phpredis-develop.zip
[[email protected] src]# unzip phpredis-develop.zip
[[email protected] src]# cd phpredis-develop/
[[email protected] phpredis-develop]# /usr/local/php/bin/phpize      //目的是生成configure文件
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
//报错Cannot find autoconf,需要安装一些autoconf

[[email protected] phpredis-develop]# yum install -y autoconf
[[email protected] phpredis-develop]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226

[[email protected] phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-config
[[email protected] phpredis-develop]# make
[[email protected] phpredis-develop]# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
//make install会把编译好的redis放到这个目录下,该目录为扩展模块存放目录

[[email protected] phpredis-develop]# /usr/local/php/bin/php -i | grep -i extension_dir
extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
sqlite3.extension_dir => no value => no value
//查看扩展模块目录,也可以在php.ini中修改目录

[[email protected] phpredis-develop]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
opcache.so  redis.so

3、修改PHP配置文件,使扩展模块生效

[[email protected] phpredis-develop]# vim /usr/local/php/etc/php.ini    //添加以下内容

extension = redis.so

[[email protected] phpredis-develop]# /usr/local/php/bin/php -m | grep redis    //查看是否加载了redis
redis

原文地址:http://blog.51cto.com/3069201/2084294

时间: 2024-10-24 09:39:22

PHP动态扩展模块安装的相关文章

LAMP-php动态扩展模块安装

在php编译完成后,如果想增加一个功能模块,要么重新编译php,要么直接编译一个扩展模块.重新编译php会影响现网中的业务,因此直接编译扩展模块更好些. [[email protected] ~]# /usr/local/php/bin/php -m      ##查看php加载的功能模块 下面演示安装redis扩展模块: 1.下载安装包 [[email protected] ~]# cd /usr/local/src [[email protected] src]# wget https://

LAMP(php动态扩展模块,httpd的rewrite,php错误日志,php.ini配置详解)

一.php动态扩展模块 比如我们需要用到php一个模块,恰好他没有这个模块.我们需要编一个.so出来 ?/usr/local/php/bin/php -m //查看模块 ? 下面安装一个redis的模块 ? cd /usr/local/src/ ? wget https://codeload.github.com/phpredis/phpredis/zip/develop ? mv develop phpredis-develop.zip ? unzip phpredis-develop.zip

LAMP架构-PHP动态扩展模块

LAMP架构-PHP动态扩展模块 生产环境中,为保障网站正常运行,不允许再次编译php,那么缺少或漏安装了模块,可以通过单独安装模块的方法来增加到php下面: 查看php加载的模块 /usr/local/php/bin/php -m 类似于apache的-M一样 举例:增加redis.so模块 下载模块 cd /usr/local/src/ wget https://codeload.github.com/phpredis/phpredis/zip/develop 改名和解压 mv develo

11.32PHP动态扩展模块

11.32PHP动态扩展模块vim /usr/local/php7/etc/php.ini 增加一行配置extension = redis.so 这种属于第三方的源码包,php本身是没有,需要下载,如果PHP本身源码包自带有,那么可以进入需要安装源码 包的这个目录安装 ,例如zipcd /usr/local/src/php-7.1.6/extcd /zip在这个目录下有很多自带的源码包就可以直接编译/usr/local/php7/bin/phpize./configure --with-php-

PHP动态扩展模块

编译源码包需要./configure 然后编译一个.so的文件报错少一个包安装包正常显示ls 目录下有./configure文件查询模块位置编辑配置文件编辑配置文件增加redis.so验证是否加载在PHP源码包目录下有个/ext/目录下面很多模块查询没有zip 模块进入到zip模块里面直接编译编译安装./configuremake make install 编译完成 php的错误日志级别 error_report ; E_ALL 所有错误和警告(除E_STRICT外); E_ERROR 致命的错

88.PHP扩展模块安装

PHP扩展模块安装 编译httpd时,有涉及动态和静态模块,PHP也一样有静态与动态之分,之前所涉及到的PHP安装都全部为静态,并没有任何动态的模块,所谓动态,就是一个独立存在的.so文件,在httpd中PHP就是以动态模块的形式被加载的.PHP一旦编译完成后,要想再增加一个功能的话,要么重新编译PHP,要么直接编译一个扩展模块(生成一个.so文件),然后在php.ini中配置一下,就可以被加载使用了. 1.查看PHP加载的模块 [[email protected] ~]# /usr/local

限定某个目录禁止解析php 、限制user_agent 、php的配制文件、PHP的动态扩展模块

1. 限定某个目录禁止解析php(有些目录用户可以上传文件或图片,可能会被恶意者上传其它文件):编辑:/usr/local/apache2.4/conf/extra/httpd-vhosts.conf 加入: <Directory /var/www/222/upload> php_admin_flag engine off </Directory>   建立目录:mkdir /var/www/222/upload -p写php文件:echo "<?php phpin

一键lnmp脚本&&php扩展模块安装

####################################################################################### #!bin/sh                                                                              # #AUTHOR:yuhonggang                                                        

php扩展模块安装

同apache [[email protected] ~]# /usr/local/php/bin/php -m 查看模块 包含静态模块和动态模块,因为没有标识所以看不出来. 解决办法:2种 去重新编译源码包--> make-->  make install 使用动态方法加载,只编译这个模块就可以了. 所以,我们用第二种方法编译动态共享模块 进入php源码包,很多模块的源码都在/usr/local/src/php-5.5.26/ext/ 的目录下,由于我们一开始 [[email protect