PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?
在虚拟机的CentOS5.5中,一键安装了PHP运行环境,但发现并没有 soap 扩展,而近期项目用需要用到 webservice。
上述的一键安装(lamp0.4),其实是源码编译安装,PHP配置文件的路径为 /etc/php.ini ,安装后,遗留的文件目录为 “/home/jianbao/2/lamp0.4”,里面的文件列表为:
[root@localhost lamp0.4]# ll
总计 59296
-rw-r--r-- 1 root root 982243 2012-05-23 apr-1.4.6.tar.gz
-rw-r--r-- 1 root root 774770 2012-05-23 apr-util-1.4.1.tar.gz
drwxrwxr-x 2 jianbao jianbao 4096 2012-05-29 conf
-rw-r--r-- 1 root root 5616185 2012-05-23 httpd-2.4.2.tar.gz
-rwxrwxr-x 1 jianbao jianbao 25116 2012-06-28 lamp.sh
-rw-r--r-- 1 root root 4984397 2012-01-21 libiconv-1.14.tar.gz
-rw-r--r-- 1 root root 1335178 2012-03-26 libmcrypt-2.5.8.tar.gz
-rw-r--r-- 1 root root 471915 2012-03-26 mcrypt-2.6.8.tar.gz
-rw-r--r-- 1 root root 931437 2012-03-26 mhash-0.9.9.9.tar.gz
-rw-r--r-- 1 root root 24518874 2012-05-10 mysql-5.5.24.tar.gz
-rw-r--r-- 1 root root 14913792 2012-05-10 php-5.3.13.tar.gz
-rw-r--r-- 1 root root 5944741 2012-05-10 phpMyAdmin-3.5.1-all-languages.tar.gz
-rwxrwxr-x 1 jianbao jianbao 1792 2012-05-29 pureftpd.sh
drwxr-xr-x 2 root root 4096 06-09 21:36 untar
-rwxrwxr-x 1 jianbao jianbao 1563 2012-02-14 xcache.sh
-rwxrwxr-x 1 jianbao jianbao 2720 2012-06-15 zend.sh
我选择的PHP版本为上述的 php-5.3.13.tar.gz,现在需要做的事情是:
1、把 “php-5.3.13.tar.gz”源码压缩包拷贝的另外一个目录,如 “/home/jianbao/1”,并解压
2、切换到解压后的 soap 源码目录:
cd /home/jianbao/1/php-5.3.13/ext/soap
3、运行 phpize 命令:
[jianbao@localhost soap]$ /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
这时,会在当前目录生成 configure 等文件。
4、运行 configure 命令:
[jianbao@localhost soap]$ ./configure --with-php-config=/usr/local/php/bin/php-config --enable-soap
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
...
...
...
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
5、运行 make 命令:
[jianbao@localhost soap]$ make
/bin/sh /home/jianbao/1/php-5.3.13/ext/soap/libtool --mode=compile cc -I. -I/home/jianbao/1/php-5.3.13/ext/soap -DPHP_ATOM_INC ......
6、运行 make install 命令:
注意,会出现权限问题,临时切换到 root 用户即可。
[jianbao@localhost soap]$ su
口令:
[root@localhost soap]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
[root@localhost soap]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
总计 832
-rwxr-xr-x 1 root root 840501 06-10 01:09 soap.so
[root@localhost soap]#
安装好之后会提示 soap.so 文件的保存路径
7、修改 /etc/php.ini 文件:
找到 extension_dir="./",默认是注释掉的,
修改为 extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" ,
并在此行后增加如下配置:
extension=soap.so
然后保存。
8、重启 Apache:
[root@localhost jianbao]# /etc/init.d/httpd restart
停止 httpd: [确定]
启动 httpd: [确定]
9、查看扩展是否已加载
[root@localhost jianbao]# /usr/local/php/bin/php -m
[PHP Modules]
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib [Zend Modules]
soap 已在里面啦,安装成功!!!
今后,要安装其他的扩展,同理可得。
/usr/local/php/bin/phpize
#安装 soap扩展 的 configure 命令:
./configure --with-php-config=/usr/local/php/bin/php-config --enable-soap
#安装 socket扩展 的configure 命令:
./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets
#安装 pdo_mysql扩展 的 configure 命令:
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
#安装 mysqli扩展 的 configure 命令:
./configure --with-php-config=/usr/local/php/bin/php-config -with-mysqli=/usr/local/mysql/bin/mysql_config
#另外,别忘了给 php.ini 添加的相应的扩展配置:
extension=soap.so
extension=sockets.so
extension=pdo_mysql.so
extension=mysqli.so
Windows服务器下PHP扩展的启用比较简单,官方扩展说明:http://www.php.net/manual/zh/install.windows.extensions.php
Linux扩展:http://pecl.php.net/package/PDO_MYSQL (pdo_mysql)
延伸阅读:
CentOS6.3编译安装LAMP(2):编译安装 Apache2.2.25
CentOS6.3编译安装LAMP(2):编译安装 Apache2.4.6
CentOS6.3编译安装LAMP(3):编译安装 MySQL5.5.25
CentOS6.3编译安装LAMP(4):编译安装 PHP5.2.17
CentOS6.3编译安装LAMP(4):编译安装 PHP5.3.27
PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?
CentOS6.x编译安装Memcached的PHP客户端memcache
CentOS 7.x,不重新编译 PHP,动态安装 imap 扩展
PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?的更多相关文章
- 手机安装app总是显示未安装
手机安装软件总是显示未安装 查看是否开启了护眼模式或者护眼工具等干扰屏幕的软件.关掉,再安装即可
- 微信小程序云函数中有以下未安装的依赖,如果未安装即全量上传
云函数中有以下未安装的依赖,如果未安装即全量上传 在新建的云函数,右击终端打开->cmd,安装依赖 npm install --production 依赖安装成功之后,文件里面会出现 packa ...
- 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误
1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8 在安装的时候报错: -1ubu1604-amd64.deb 提示: ...
- CentOS 7 上安装vim(默认未安装)
今天使用CentOS 7,发现未安装vim,所以重新安装 执行命令: yum -y install vim* 然后就可以使用了
- Windows 7中安装SQL2005提示IIS未安装 解决办法 .(转载)
在Windows 7系统中安装SQL Server 2005时,可能会收到一个警告:提示IIS未安装或者未启用.在通过“控制面板”的“打开或关闭Windows功能”按默认设置安装IIS后,发现仍有这个 ...
- zabbix安装报某些模块未安装上
执行下 make clean /usr/local/php5/bin/phpize ./configure --with-curl --with-php-config=/usr/local/php5/ ...
- Windows下安装程序时提示未安装Microsoft Net FrameWork 2.0
问题描述 安装程序时碰到如下: 现在基本都是用win7.win10系统,缺少环境大多数都是因为系统没有启用. 解决方法 控制面板 - 程序 - 启用或关闭Windows功能 - 把第一项'NET Fr ...
- 目标电脑未安装VC++6.0或者VS,运行APP丢失DLL问题解决办法
一.背景 VS或者VC++6.0编译出来的程序需要在未安装VS/VC++6.0的电脑上跑,很大情况会出现MSVCRXXX.dll 或者其他DLL丢失的情形,本篇就DLL相关问题做个记录. 二.正文 1 ...
- chrome45以后的版本安装lodop后,仍提示未安装解决
请先查看你chrome浏览器的版本,如果是45版本以前的版本,安装后仍提示 "未安装" 或 "请升级" 请参照本链接解决:http://blog.sina.co ...
随机推荐
- 关于Hadoop的集群环境下虚拟机采用NAT方式连不上网的解决
使用虚拟机搭建hadoop集群的时候采用的是NAT方式联网,但是会出现时常掉网的现象,查看后排查了很久也没有发现什么问题. 很可能是Windows下的NAT服务没有开启,这时候尽管虚拟机和主机是在一个 ...
- CH Round #72 奇数码问题[逆序对 观察]
描述 你一定玩过八数码游戏,它实际上是在一个3*3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3*3的网格中. 例如:5 2 81 3 _4 6 7 在游戏过程中,可以把空格与其上 ...
- 洛谷P3407 散步[分组]
题目描述 一条道路上,位置点用整数A表示. 当A=0时,有一个王宫.当A>0,就是离王宫的东边有A米,当A<0,就是离王宫的西边有A米. 道路上,有N个住宅从西向东用1-N来标号.每个住宅 ...
- Spring整合Redis
1.相关jar包 除了Spring必须的jar外,还需要spring-data-redis,jedis,commons-pool,这里使用的是maven,也可以拿着url把jar包下下来 <!- ...
- python高级之操作数据库
python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...
- PHP用法
链接: php编写app接口(一)-JSON方式封装接口数据方法 php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path date_default_timezon ...
- Dubbo消费端错误: ClassNotFoundException: org.apache.zookeeper.proto.WatcherEvent
出现错误的原因是消费端war没有启动成功, 但是zkClient和Dubbo的对应Thread启动了, web container无法加载对应的类, INFO: Initializing Protoc ...
- 重写Oracle的wm_concat函数,自定义分隔符、排序
oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...
- ASP.NET MVC - 创建Internet 应用程序
为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序. 第 1 部分:创建应用程序. 我们将构建什么 我们将构建一个支持添加.编辑.删除和列出数据库存储信息的 Internet ...
- [网络安全] [视频分享]KaLi Linux基础培训2016 最新的哦【福吧资源网】
最新的教程同时针对kali linux2016最新版本的多个问题解决办法还有一些实例利用. 下载地址:http://www.fu83.cn/thread-310-1-1.html