使用phpize为编译好的PHP安装拓展模块
1.应用场景;在实际工作中,我们往往会出现一种情况就是我们的环境都已经部署好了,但是突然整个环境又缺少了某一个模块,如果你重新去编译,那你的工作量将很大,而且方式也不可取!PHP官方给你了一个给力的工具,叫做phpize,通过phpize这个工具,在不用重新去编译我们的程序之外,可以单独编译模块,然后将模块打入PHP.ini配置文件中,那么这个模块就可以正常运行了!
1. 什么是phpize
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。
http://www.pualinux.com/zb_users/upload/2015/11/201511261448518021211338.png
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格式的软件包
# yum install -y unzip //我们下载的zip的压缩包,需要用unzip解压
# unzip Z-BlogPHP_1_4_Deeplue_150101.zip -d /usr/local/src/ //解压
# mv /usr/local/src/Release/* /usr/local/apache2.4/htdocs/ //移动到网站根目录
# chown -R apache:apache/usr/local/apache2.4/htdocs/ //更改文件权限
环境检测
浏览器输入192.168.1.11→→我已阅读并同意此协议→→发现还有部分组件没有安装(不需要全部安装)
http://www.pualinux.com/zb_users/upload/2015/11/201511261448518370768347.png
然后函数部分,curl没有安装
http://www.pualinux.com/zb_users/upload/2015/11/201511261448518417974795.png
其中我们看到有!的是必装,数据库必装一个,但是么有!的提示,没关系,接着下一步,会发现数据库驱动为空,那么zblog将无法成功安装,因为zblog的PHP程序无法连接到数据库
http://www.pualinux.com/zb_users/upload/2015/11/201511261448518721125809.png
4.安装PHP拓展模块Curl
# cd /usr/local/src/php-5.6.13/ext/curl/ //模块已经存在,只是没有安装,在我们解压的php源码目录下有一个ext目录,都是模块
# yum install -y autoconf //使用phpize工具的时候会依赖
# /usr/local/php/bin/phpize // phpize是用来扩展php扩展模块的工具
Configuring for:PHP Api Version: 20131106Zend Module Api No: 20131226Zend Extension Api No: 220131226 # yum install -y libcurl-devel //预编译会依赖此软件包
# ./configure --with-php-config=/usr/local/php/bin/php-config //php-config文件是一个简单的命令脚本,用于获取所安装的php信息,读取php安装的一些参数
# 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/ 查看生成的模块
# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
curl.soopcache.so #curl.so就是我们需要的这个模块 让php支持此模块
# 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 # service myhttpd restart
测试结果,curl正常
http://www.pualinux.com/zb_users/upload/2015/11/201511261448518692633942.png
5.安装PHP模块GD2
GD库是php处理图形的扩展库
# cd /usr/local/src/php-5.6.13/ext/gd/
# yum install libpng-devel //安装gd会依赖
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# 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/ # 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的高级功能,比如存储过程
# cd /usr/local/src/php-5.6.13/ext/mysqli/
# /usr/local/php/bin/phpize
# mkdir -p ext/mysqlnd/ //会依赖mysqlnd里面的文件
# ln -s /usr/local/src/php-5.6.13/ext/mysqlnd/* ./ext/mysqlnd/
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config //这样安装就不会报错,解决所有依赖
# 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
# cd ../pdo_mysql/
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/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数据库,这里只是演示模块的安装
# cd ../sqlite3/
# cp config0.m4 config.m4
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make ; make install
9.安装PHP数据库驱动PDO_SQlite
# cd ../pdo_sqlite/
# /usr/local/php/bin/phpize
# yum install -y sqlite-devel
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make ; make install
10.将所有模块添加到PHP,使php支持安装的模块
# cd ; ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
curl.sogd.somysqli.soopcache.sopdo_mysql.sopdo_sqlite.sosqlite3.so # 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 # service myhttpd restart
测试安装,在浏览器中输入192.168.1.11
http://www.pualinux.com/zb_users/upload/2015/11/201511261448519002220572.png
11.Sqlite不用安装,其实有一个数据库驱动即可,点击下一步
http://www.pualinux.com/zb_users/upload/2015/11/201511261448519039505834.png
已经有了数据库驱动,填写数据库和博客信息,下一步
http://www.pualinux.com/zb_users/upload/2015/11/201511261448519065776871.png
12.安装完成,看到欢迎界面
http://www.pualinux.com/zb_users/upload/2015/11/201511261448519100164515.png
登录后台:192.168.1.00/zb_system/login.php
http://www.pualinux.com/zb_users/upload/2015/11/201511261448519141881828.png
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]