PHP环境中安装PHP扩展模块[示例]
这里提供在线安装方法,方便简单快捷。
1 http://woyoo.org/index.php/linux/linux-pear-auto-install-json.html
下面介绍编译安装json
1.下载源文件包:
1 wget http://www.aurore.net/projects/php-json/
2.解压
1 tar xvjf php-json-ext-1.2.0.tar.bz2
3.进入目录
1 cd php-json-ext-1.2.0
4.初始化PHP环境
phpize报错了:phpize commend not found
PHP JSON安装之前需要安装phpize
5.这个可以在yum中安装
1 yum -y install php-devel
6.如果还不能完成PHP JSON安装,说明你的编译工具有问题,安装一下就可以了
1 yum -y install autoconf automake libtool
7.运行phpize
(成功了)
1 ./configure
2 make
3 make install
8.查看PHP JSON安装有没有成功
1 find / -name '*json.so'
2 ./usr/lib/php/modules/json.so
说明已经有了
9.修改php.ini
我的是在php.ini 中include一个文件夹 /etc/php.d
在这个文件中添一个json.ini
1 vim json.ini
2 内容如下:
3 extension=json.so
10.重启服务
1 service httpd restart
11.phpinfo()中您将看到
动态添加ftp扩展
# cd /usr/local/src/php-5.2.13/ext/ftp 进入源码目录的相应扩展模块文件夹
# /usr/local/php-5.2.13/bin/phpize 进入编译好的php相关目录,调用phpize程序生成编译配置文件
# ./configure --with-php-config=/usr/local/php-5.2.13/bin/php-config 注意php-config文件要存在
# make && make install
把生成的ftp.so复制到php.ini中extension_dir指定的目录,不过这步系统好像自动做了,注意确认下即可
然后php.ini加上extension=ftp.so
然后将线上的apache重启
今天在安装cacti软件时发现PHP运行环境中少了一个sockets扩展,当初在编译PHP时没有加入--enable-sockets参数,但是现在又要用到,总不可能为了这个扩展而重新安装PHP环境。我们可以用phpize这个工具来安装扩展模块。phpize这个工具位于php安装目录下面的bin目录中。例如我的位于/home/webserver/php5.2.12/bin目录下面。
安装步骤:
1、先进入php解压缩后的源码包中,找到要安装的扩展模块的目录。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目录下面以绝对路径运行phpize程序,这时会自动生成sockets的configure程序,在sockets目录下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、进行编译安装
[root@redhat5 sockets]# ./configure --with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
执行完make install屏幕上会提示sockets.so存放的路径,然后把它复制到php的extensions目录中,例如我的路径为 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = "./" 这行,修改为:
extension_dir = "/home/webserver/php5.2.12/lib/php/extensions/"
然后再新增加一行:
extension=sockets.so
4、重启apache即可生效。
简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
php已经安装好了,但是现在需要使用这个模块进行开发,如何是好,重新编译php吗?麻烦,再说是生产服务器,也没有胆子敢动。
那就想想别的办法吧,网上找了找,并且测试了一下,成功的布署到生产服务器上!
需要生成一个soap.so,并且到php.ini里面去加载它,并且通过phpinfo()可以找到如下行
Soap Client enabled
Soap Server enabled
首先到php原来的安装目录里面(php-5.2.13),进入到ext/soap/的目录下,执行如下(注意路径一致):
/usr/local/php5/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap
make
make install
提示已经安装到:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/里面了,可以ls查看一下
打开php.ini文件,找到
extension = “memcache.so” #在这个下面加一行
extension = “soap.so” #注意目录这两个模块都是在同一个目录里面就可以了。
/usr/local/apache/bin/apachectl -k graceful #不间断重启
这时再打开phpinfo的文件,就可以发现了~
注:如果在运行
/usr/local/php5/bin/phpize
出现如下提示信息
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “zh_CN.GB2312:en_US:en_US.UTF-8″
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “zh_CN.GB2312:en_US:en_US.UTF-8″
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
不会影响最后的编译效果,可以顺利编译soap.so文件。
原文:http://www.peifi.com/156.html
- 没有相关文章
- 没有评论