首页 > 代码库 > ubuntu16.04上 安装xampp的php扩展memcache

ubuntu16.04上 安装xampp的php扩展memcache

一.客观情况:

1.ubuntu上自带的是php7的环境,项目运行有问题。

2.网上找了方法换成php5,没有memcache扩展,自己又不会装

3.还有其他很多扩展没有装

二.人为因素:

我是个小白,白到php5上装个memcache扩展都不会

三.解决过程

话说ubuntu自带的一键安装还是很不错的:

  一键安装LAMP服务(在终端执行以下命令):
  sudo tasksel install lamp-server
  一键卸载LAMP(在终端执行命令):
  sudo tasksel remove lamp-server
  通过上面的命令卸载Lamp时不免把Linux系统本身的东西卸载掉了,因此,在卸载LAMP后一定记着使用下边的命
  令更新一下系统:
  sudo apt-get update
  sudo apt-get upgrade

删除了ubuntu自带的php7环境之后,安装了phpstudy也是很出色的软件,然而在我的电脑上apache安装失败,由于时间紧迫,必须赶快搭建好环境,所以没有去研究怎么回事(更重要的是我的能力不行),花去我一个多小时吧,那时候已经快哭了

最后选择了集成环境xampp.

经过一番折腾,xampp安装好了,最后的就差memcache了.

反正是曲曲折折,最后安装好了,这里就不啰嗦了.

四.学到的知识

1.php的扩展memcache 在解压tar包后的目录中,是没有configure文件的,要phpize之后才有

2.phpize,phpize是用来扩展php模块的,通过phpize可以简历php的外挂模块

3.用phpize时候,要在扩展的目录中,否则会找不到config.m4--->Cannot find config.m4.

4.phpize需要autoconf,autoconf需要m4

5.php安装必须按照这个顺序,不然很多坑 zlib -> freetype -> libxml2 -> libpng -> libgd2 -> libmcrypt

五.错误提示和解决

执行:./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

1.报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.(就是在这里我纠结了好久,还是英语不行T_T)

解决:

1 wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
2 tar -zvxf m4-1.4.9.tar.gz
3 cd m4-1.4.9/
4 ./configure && make && make install
5 cd ../
6 wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
7 tar -zvxf autoconf-2.62.tar.gz
8 cd autoconf-2.62/
9 ./configure && make && make install

2.报错:/home/memcache-3.0.8/memcache_pool.c:26:18: fatal error: zlib.h: 没有那个文件或目录

这种情况是没有zlib库导致的,这也就是我说的不按照顺序留下的坑,可是我是xampp没办法

ubuntu下我 apt-get install zlib 在tab两下就都出来了

最后执行的是 apt-get install zlib* 选中了好几个,管他呢,先搭好环境再说

解决:apt-get install zlib*

或者,安装源码包,这里我没试


 

安装参考:

http://www.cnblogs.com/yangxia-test/p/4195222.html

这里复制:

安装环境:CentOS 6.4 

 

php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法。

 

1、下载

下载地址:http://pecl.php.net/package/memcache

文件名:memcache-3.0.8.tgz

文件下载成功后上传至/usr/local目录

 

2、安装

[root@vm15 local]# tar -zxvf memcache-3.0.8.tgz
root@vm15 local]# cd memcache-3.0.8
[root@vm15 memcache-3.0.8]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@vm15 memcache-3.0.8]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
[root@vm15 memcache-3.0.8]# make
[root@vm15 memcache-3.0.8]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
[root@vm15 memcache-3.0.8]# ll /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

total 2140
-rwxr-xr-x. 1 root root 453766 Dec 30 17:44 memcache.so
-rwxr-xr-x. 1 root root 861055 Dec 30 16:47 redis.so

出现memcache.so就表明安装成功了

 

3、配置支持php

[root@vm15 memcache-3.0.8]# vi + /usr/local/php/lib/php.ini
添加
extension=memcache.so
:wq! #保存退出

 

4、重启服务

[root@vm15 memcache-3.0.8]# /usr/local/apache2/bin/apachectl restart
查看phpinfo可以看到支持了

 


 

memcache下载地址(我就是在这里下载的)

http://pecl.php.net/package/memcache


感想,这次环境搭建的真是坎坷曲折,本来是换回windows系统的,再上面装了个phpstudy结果有问题,重装了还是不行,各种不爽.最后还是换回了ubuntu.他还老给我死机T_T

自己差的还真不是一点半点,距离一个合格的php程序员还差的很多很多,以前总是按照网上的命令复制粘贴,很少去理解他的意思.

以后要细心的学习,还有关于php-config我大概看了一下,configure应该就是根据这个文件去吧扩展(.so文件)装到对应的目录的,关于这个文件还要深入的学习.

工作也有一年多了,对于自己用的语言还是知道的这么少,我感到很惭愧,要学的东西还有很多,这里给自己加油!↖(^ω^)↗

ubuntu16.04上 安装xampp的php扩展memcache