linux安装php与memcache过程记录(2)下载

为此,我需要去安装autoconf库,但是在安装这个库的时候,同样会报错:

linux安装php与memcache过程记录(2)

 
这里可以明显看出,就是M4版本太低,需要更新。通过查阅资料知晓,autoconf使用M4宏处理器处理configure.in文件,从而可以生成configure文件用于安装配置。然后知识兔,就是去下载M4源码进行安装了,这里又有一个坑,我安装提示的去下载推荐的 M41.4.16版本的源码包,配置成功,但是编译的时候会出现类似下面的问题:./stdio.h:477:1: error: 'gets' undeclared here (not in a function)_GL_WARN_ON_USE (gets, “gets is a security hole – use fgets instead”);^这个问题我在网上查找,发现不仅仅是安装M4会出现,很多人安装其他的库的时候也会出现类似问题,也找到有人更改 _GL_WARN_ON_USE进行hack,也有人说进行打补丁(这个问题的具体原因可能比较复杂,也没弄清)。但是我觉得我的ubuntu是13.10是比较新的版本,应该会有修复吧!于是我就重新下载了一个M4的最新版本:  wget  /gnu/m4/m4-latest.tar.gztar -zxf m4-latest.tar.gz;mv m4-1.4.17  /usr/local/m4cd /usr/local/m4./configuremakemake insatll按照上面步骤安装的时候,奇迹出现了,果然可以编译安装完成,没有任何问题。此处得出的结论是,作为软件使用者和开发者我们一定要适合保持软件的更新,尽量使用最新的稳定的版本,这样可以避免遇到很多奇怪的问题。安装时把解压包放到/usr/local/m4下,然后知识兔直接configure不指定prefix才可以安装autoconf,否则也会同样的找不到M4的错误。安装autoconf如下:export  PATH=/usr/local/m4:$PATHcd autoconf./configure –prefix=/usr/local/autoconfmakemake install按照上述命令安装就完成了autoconf的安装。然后知识兔接着去安装memcache,此时,使用export将/usr/local/autoconf/bin导入到PATH并不起作用,因此我尝试使用了如下的命令:sudo ln -s /usr/local/autoconf/bin/autoconf autoconfsudo ln -s /usr/local/autoconf/bin/autoheader autoheadersudo ln -s /usr/local/autoconf/bin/autom4te autom4tesudo ln -s /usr/local/autoconf/bin/autoreconf autoreconfsudo ln -s /usr/local/autoconf/bin/autoscan autoscansudo ln -s /usr/local/autoconf/bin/autoupdate autoupdatesudo ln -s /usr/local/autoconf/bin/ifnames ifnames做了这些符号链接之后,我重新进入memcache源码文件使用phpize工具就没问题了,成功生成了configure文件:  

linux安装php与memcache过程记录(2)

安装过程如下:./configure   >–with-php-config=/usr/local/php5.5/bin/php-config  >–enable-memcache=/usr/bin/memcachedmakemake install安装完成如下图所示,最后出现的installed shared extensions是在php的配置文件中进行配置memcache时候需要使用到的,需要保存下来。

linux安装php与memcache过程记录(2)

 配置php.ini文件,在/usr/local/php5.5

b/php.ini,找到extension_dir这一行:
;extension_dir = “./” 改为
extension_dir = “安装memcache完成后的目录路径”
extension = “memcache.so” ;添加此行用于添加memcache扩展
使用如下的php代码进行测试:
//Test memcache
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);

echo '

';
var_dump($mem);
var_dump(class_exists("Memcache"));
?>
结果如图: 

linux安装php与memcache过程记录(2)

通过上述的种种艰辛,不仅是完成了安装的任务,也让我进一步熟悉了linux下安装软件的各种值得注意的地方。安装gd2库的时候需要依赖Xpm库,这个问题其实是在安装好了gd2后安装php的时候出现的,然后知识兔又重新安装gd2,特别是安装Xpm后,使用了符号链接之后,就可以安装带有Xpm的gd2库了。这个方法是一个启示!在后面安装autoconf完成后,使用PATH变量失效时是当时突然想起符号链接这个方法,因此就自己尝试性使用并解决了问题。还有就是安装M4的时候,版本问题可能牵涉出很多底层的问题,这个我也没弄清楚,当时也是尝试性的使用最新版本安装就可以解决了。最后安装memcache的时候就比较顺利了。同时也发现网上有很多安装php的时候就使用配置选项--with-autoconf选项直接一步安装了autoconf,这样就可以直接使用phpize工具了,但是我这里没有安装,虽然让我费了周折,但是最后单独安装了autoconf之后,使用符号链接指定安装的autoconf路径,然后知识兔phpize就可以从PATH中的/usr/bin这个路径下找到,因此这也说明了安装php是指定配置选项应该就是指定了php对这个依赖项需要调用时的一个寻找路径。晚饭时间到了,折腾了一天,看到一切都可以使用的时候还是感觉蛮不错的!希望有前辈可以解答我前面提到的一些疑惑!  以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果知识兔大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。 
 
本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论