2018.3.8 11周3次课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.3.8 11周3次课相关的知识,希望对你有一定的参考价值。

十一周三次课(3月8日)

11.32 php扩展模块安装

11.32 php扩展模块安装

编译httpd时,有涉及动态和静态模块,其实PHP也一样有这样的说法。在本章讲述PHP安裝时,所有的模块全部都为静态,并没有任何动态的模块。所谓动态,就是一个独立存在的.so文件,在httpd中PHP就是以动态模块的形式被加载的。PHP一旦编译完成后,要想再增加一个功能模块的话,要么重新编译PHP,要么直接编译一个扩展模块(生成一个.so文件 ), 然后在php.ini中配置一下,就可以被加载使用了。               查看PHP都加载了哪些功能模块 :/usr/local/php7/bin/php -m

技术分享图片

下面安装一个redis第三方的扩展模块

技术分享图片

技术分享图片

技术分享图片

技术分享图片

在phpredis-develop没有configure文件

技术分享图片

/usr/local/php7/bin/phpize     //生成configure文件

技术分享图片

报错,少了autoconf的包,安装autoconf包:yum install -y autoconf

技术分享图片

生成了configure文件

技术分享图片

./configure --with-php-config=/usr/local/php7/bin/php-config

make

make install     //把编译好的redis.so放到/usr/local/php7/lib/php/extensions/no-debug-zts-20170718/这个目录下面,这个目录也是扩展模块存放目录

技术分享图片

技术分享图片

/usr/local/php7/bin/php -i |grep extension_dir      //查看扩展模块存放目录,我们可以在php.ini中去自定义该路径,默认的就可以了

技术分享图片

就是我们上面查看时的目录

还没有加载

技术分享图片

编辑配置文件:

vim /usr/local/php7/etc/php.ini  //增加一行配置(可以放到文件最后一行)

extension=redis.so  

技术分享图片

技术分享图片

在php源码包里,有个ext目录,在里面有很多自带的模块。可以直接编译不用下载了

技术分享图片

技术分享图片

进入需要编辑的自带模块目录里,用/usr/local/php7/bin/phpize直接执行

技术分享图片

./configure --with-php-config=/usr/local/php7/bin/php-config

make && make install

技术分享图片


以上是关于2018.3.8 11周3次课的主要内容,如果未能解决你的问题,请参考以下文章

2018-3-7 11周2次课

2018.3.6 11周1次课

2018.3.7 11周2次课

2018.3.1 10周2次课

2018.3.2 10周3次课

2018-3-6 11周1次课