设为首页 收藏本站
查看: 1152|回复: 0

[经验分享] 使用phpize为编译好的PHP安装拓展模块

[复制链接]

尚未签到

发表于 2018-12-17 12:52:56 | 显示全部楼层 |阅读模式
  1.应用场景;
  在实际工作中,我们往往会出现一种情况就是我们的环境都已经部署好了,但是突然整个环境又缺少了某一个模块,如果你重新去编译,那你的工作量将很大,而且方式也不可取!PHP官方给你了一个给力的工具,叫做phpize,通过phpize这个工具,在不用重新去编译我们的程序之外,可以单独编译模块,然后将模块打入PHP.ini配置文件中,那么这个模块就可以正常运行了!
1. 什么是phpize
  phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。

2.怎么使用phpize
  使用phpize之前,你必须有一个环节,这里我们按照了LAMP编译安装的环境来做phpize的实验,不过我们需要使用一个比phpize更为直观的方式来看我们的模块有没有安装成功,所以我们受用了zblog博客来举例说明!
  Z-Blog是由RainbowSoft Studio开发的一款小巧的,基于ASP和PHP平台的Blog程序,目前PHP程序也逐渐成熟,小巧功能强悍,个人博客的不错选择
  常见的博客系统:Wordpress,emBlog,Zblog等,其中Wordpress是世界上著名,使用人数也是最多的博客系统!zblog比较量级别,适合个人博客用,比如我Pualinux博客,就是使用zblog博客搭建!
3.基于LAMP部署zblog博客
  关于获取程序,我们可以直接去它的官方网站去下载,官方网站是http://www.zblogcn.com 解压安装,这里下载的是zip格式的软件包
  [root@PuaLinux1~]# yum install -y unzip                                                                    //我们下载的zip的压缩包,需要用unzip解压
  [root@PuaLinux1 ~]# unzip Z-BlogPHP_1_4_Deeplue_150101.zip -d /usr/local/src/   //解压
  [root@PuaLinux1 ~]# mv /usr/local/src/Release/* /usr/local/apache2.4/htdocs/          //移动到网站根目录
  [root@PuaLinux1 ~]# chown -R apache:apache  /usr/local/apache2.4/htdocs/              //更改文件权限
  环境检测
  浏览器输入192.168.1.11→→我已阅读并同意此协议→→发现还有部分组件没有安装(不需要全部安装)

  然后函数部分,curl没有安装

  其中我们看到有!的是必装,数据库必装一个,但是么有!的提示,没关系,接着下一步,会发现数据库驱动为空,那么zblog将无法成功安装,因为zblog的PHP程序无法连接到数据库

4.安装PHP拓展模块Curl
  [root@PuaLinux1 ~]# cd /usr/local/src/php-5.6.13/ext/curl/           //模块已经存在,只是没有安装,在我们解压的php源码目录下有一个ext目录,都是模块
  [root@PuaLinux1 curl]# yum install -y autoconf                              //使用phpize工具的时候会依赖
  [root@PuaLinux1 curl]# /usr/local/php/bin/phpize                       // phpize是用来扩展php扩展模块的工具
Configuring for:PHP Api Version:         20131106Zend Module Api No:      20131226Zend Extension Api No:   220131226  [root@PuaLinux1 curl]# yum install -y libcurl-devel                       //预编译会依赖此软件包
  [root@PuaLinux1curl]# ./configure --with-php-config=/usr/local/php/bin/php-config         //php-config文件是一个简单的命令脚本,用于获取所安装的php信息,读取php安装的一些参数
  [root@PuaLinux1 curl]# make ; make install ; cd                         //看到如下内容,代表编译成功,而却拓展库模块位置给以呈现
Build complete.Don't forget to run 'make test'.Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/  查看生成的模块
  [root@PuaLinux1 ~]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
curl.so  opcache.so         #curl.so就是我们需要的这个模块  让php支持此模块
  [root@PuaLinux1 ~]# vim /usr/local/php/php.ini
900 ;extension=php_pgsql.dll901 ;extension=php_shmop.dll   #在900多行,模块区域,添加下面这一样902 extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/curl.so  [root@PuaLinux1 ~]# service myhttpd restart
  测试结果,curl正常

5.安装PHP模块GD2
  GD库是php处理图形的扩展库
  [root@PuaLinux1 ~]# cd /usr/local/src/php-5.6.13/ext/gd/
  [root@PuaLinux1 gd]# yum install libpng-devel                        //安装gd会依赖
  [root@PuaLinux1 gd]# /usr/local/php/bin/phpize
  [root@PuaLinux1 gd]# ./configure --with-php-config=/usr/local/php/bin/php-config
  [root@PuaLinux1 gd]# make ; make install                             //如下结果,安装成功
Build complete.Don't forget to run 'make test'.Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/Installing header files:           /usr/local/php/include/php/  [root@PuaLinux1 gd]# vim /usr/local/php/php.ini
902 extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/curl.so902 extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/gd.so   #curl下面添加此行#手动添加的模块都是在这个路径下面,默认,但是在当前的目录下的modules下面也有一份6.安装PHP数据库驱动MySqli
  数据库驱动不需要全部安装,为了熟悉一下phpize工具,我们全部安装,mysqli驱动是一个访问新版mysql的高级功能,比如存储过程
  [root@PuaLinux1 gd]# cd /usr/local/src/php-5.6.13/ext/mysqli/
  [root@PuaLinux1 mysqli]# /usr/local/php/bin/phpize
  [root@PuaLinux1 mysqli]# mkdir -p ext/mysqlnd/     //会依赖mysqlnd里面的文件
  [root@PuaLinux1 mysqli]# ln -s /usr/local/src/php-5.6.13/ext/mysqlnd/* ./ext/mysqlnd/
  [root@PuaLinux1mysqli]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config        //这样安装就不会报错,解决所有依赖
  [root@PuaLinux1 mysqli]# make ; make install
Don't forget to run 'make test'.Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/Installing header files:          /usr/local/php/include/php/#SO模块文件生成,先不去改php.ini,先将其他的文件也做完!7.安装PHP数据库驱动PDO_MySql
  [root@PuaLinux1 mysqli]# cd ../pdo_mysql/
  [root@PuaLinux1 pdo_mysql]# /usr/local/php/bin/phpize
  [root@PuaLinux1 pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
  [root@PuaLinux1 pdo_mysql]# make ; make install
Build complete.Don't forget to run 'make test'.Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/8.安装PHP数据库驱动SQlite3
  没有安装SQLite数据库,这里只是演示模块的安装
  [root@PuaLinux1 pdo_mysql]# cd ../sqlite3/
  [root@PuaLinux1 sqlite3]# cp config0.m4 config.m4
  [root@PuaLinux1 sqlite3]# /usr/local/php/bin/phpize
  [root@PuaLinux1 sqlite3]# ./configure --with-php-config=/usr/local/php/bin/php-config
  [root@PuaLinux1 sqlite3]# make ; make install
9.安装PHP数据库驱动PDO_SQlite
  [root@PuaLinux1 sqlite3]# cd ../pdo_sqlite/
  [root@PuaLinux1 pdo_sqlite]# /usr/local/php/bin/phpize
  [root@PuaLinux1 pdo_sqlite]# yum install -y sqlite-devel
  [root@PuaLinux1 pdo_sqlite]# ./configure --with-php-config=/usr/local/php/bin/php-config
  [root@PuaLinux1 pdo_sqlite]# make ; make install
10.将所有模块添加到PHP,使php支持安装的模块
  [root@PuaLinux1 pdo_sqlite]# cd ; ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
curl.so  gd.so  mysqli.so  opcache.so  pdo_mysql.so  pdo_sqlite.so  sqlite3.so  [root@PuaLinux1 ~]# vim /usr/local/php/php.ini    //在上面位置,继续添加,最终结果如下
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/curl.soextension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/gd.so#上面的已经添加,下面的继续添加extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/mysqli.soextension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_mysql.soextension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_sqlite.soextension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/sqlite3.so  [root@PuaLinux1 ~]# service myhttpd restart
  测试安装,在浏览器中输入192.168.1.11

  11.Sqlite不用安装,其实有一个数据库驱动即可,点击下一步

  已经有了数据库驱动,填写数据库和博客信息,下一步

  12.安装完成,看到欢迎界面

  登录后台:192.168.1.00/zb_system/login.php

php.ini的写法说明
  在平时我们的写法中,有两种,一种是直接跟绝对路径,就是这个写法:
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/sqlite3.so  还一种,是可以先定义extension的目录,然后就只需要写模块名字了:
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/extension=sqlite3.so

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-652451-1-1.html 上篇帖子: php_fpm配置文件 下篇帖子: php 注释 会不会 影响 效率 性能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表