悟途网移动版

Linux

悟途网 > Unix > Linux > 正文

实现Linux下安装mysql和curl扩展

2013-06-22 12:49 悟途网 T

在安装好apache2+php5之后,现在又想装上个mysql5玩玩。
用源码安装好mysql5之后,发现原来在Linux想为php添加新扩展,不像在windows上面,去掉分号注释就行了的~
在网上查询了很多资料,终于搞定,特写日记以示祝贺。

添加扩展的基本步骤:
1、进入php源代码目录:# cd /usr/ChenShao/php-5.3.1/
2、再进入要添加的mysql扩展源码目录:# cd ext/mysql/
3、调用已经编译好的php里面的phpize:# /usr/local/php5/bin/phpize
在这一步骤可能又会出现新的问题:
这里给出网上的解决方案.....

02 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script

运行/usr/local/webserver/php/bin/phpize时出现:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
根据网上的解决办法是:

# cd /usr/src
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install
可爱的yum让我更容易把没安装的包安装好
yum install m4
yum install autoconf

3、然后configure:# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mysql=/usr/local/mysql
(/usr/local/mysql 为mysql的安装目录)
4、make && make install
5、编译之后,自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php5/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=php_mysql.so前面的分号。
不过有一点需要注意的是,生成的模块名叫mysql.so,跟php.ini里面的php
_mysql.so名字不一致,必须把mysql.so改名为php_mysql.so,切记切记~! 可以用MV 指令 源文件 目标文件
6. 添加扩展模块:CURL :
参考这个方法可以-------------------------

安装某些PHP源码如CMSTOP时需求系统开启curl扩展,这需要修改PHP的配置,在Windows 中只需简单三步。
一、window下安装php_curl支持
1.将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下;
2.打开php.ini(可能在PHP环境的安装目录下,默认在c:\WINDOWS目录下),将;extension=php_curl.dll头部的分号去掉;
3.重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。
二、linux中php如何安装curl扩展
如果php已经在系统编译好,后来又需要添加新的扩展,一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。
情况一:全新安装php 和curl
首先下载curl安装包(我的php是4.4.4的,下载最新的curl 7.16 不能使用,最后下载7.14的才可以,下载要注意一下版本)
然后安装cURL
# tar -zxf (此处填下载的curl包名称)
# ./configure –prefix=/usr/local/curl
# make; make install
安装php时,只要打开开关 –with-curl=/usr/local/curl就可以了。
php要求curl的目录要有include和lib目录,并且include下要有easy.h和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下可能还没有。原来生成到lib/.libs目录下,所以要copy到lib目录。
情况二:已经安装了php,现在需要添加这个扩展
进入安装原php的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)
cd ext/curl
php
ize (这里还是要引用 /usr/local/php5/bin/phpize)
执行 ./configure –with-curl=DIR (可以不写dir,如果你的curl安装时没有指定目录)./configure --with-php-config=/usr/local/php5/bin/php-config --with-curl=/usr/local/mysql
make 》&& make install 和上述安装mysql扩展类似
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
复制curl.so文件到extensions的配置目录,修改php.ini就好了
以上两种就是Linux下php扩展cURL的安装方法。

7、重启apache:# service httpd restart
特别注意:如果第3步通过了,但第4步报错,很有可能是源代码的问题,我是从php.net新下载了一份之后,再来编译才通过的。

还有要更改php.ini的extension 把前面的注释去掉 在linux下要把结尾的dll 改为so
实现Linux下安装mysql和curl扩展