在公司上新项目的时候,无论生产环境还是测试环境,都会让运维安装php 环境(lamp/lnmp),并让php支持memcached 的扩展。这里搭建php环境其实主要就是搭建apache 和php。mysql一般都是用单独的数据库,不会再同一台服务器上的。看似简单的东西,在搭建的时候,还真是遇到了不少问题,以此记录,方便各位运维同学。

一.163和默认的镜像源有些包不能下载,使用阿里的镜像源

见本博客地址:http://www.cnblogs.com/lzcys8868/p/7532569.html

二. 必须安装webtatic库

Centos 5.X
  rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
 
CentOs 6.x
 rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
 
CentOs 7.X
 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
 
 
三. yum 安装httpd及其扩展
1.安装httpd及其扩展
yum –y install httpd  httpd-devel
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
 
2.设置开机启动Apache
chkconfig --levels 235 httpd on
 
3.启动Apache
service httpd start
四. 安装php5.5版本. php要求使用5.5。yum 默认安装的是php5.3
1.安装php5.5
yum -y install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64 php55w-devel
 
报错:Error: Package: php55w-mcrypt-5.5.38-1.w6.x86_64 (webtatic)
           Requires: libmcrypt.so.4()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
2.错误提示缺少libmcrypt.so这个库。安装libmcrypt,libmcrypt-deve
rpm -ivh epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum -y install libmcrypt libmcrypt-devel
 3.在重新安装php5.5
 
4.安装php-fpm5.5 模块
yum -y install php55w-fpm php55w-common
注:如果yum 不能安装,修改webtatic.repo 镜像源地址
[root@localhost phpredis-develop]# vim /etc/yum.repos.d/webtatic.repo
 [webtatic]
name=Webtatic Repository EL6 - $basearch
baseurl=https://repo.webtatic.com/yum/el6/$basearch/ // 启用本机镜像地址
#mirrorlist=https://mirror.webtatic.com/yum/el6/$basearch/mirrorlist // 禁用网络镜像地址
failovermethod=priority
enabled=1 // 启用
gpgcheck=0 // 注释掉
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-el6

在次重新yum 安装 php55w-fpm   php55w-common

五. 先搭建memcached 服务端,见本博客地址:http://www.cnblogs.com/lzcys8868/p/7532615.html
   安装包使用如下版本
   memcached 服务端安装包:
      memcached-1.4.0.tar.gz   libevent-2.0.22-stable.tar.gz
 
   php支持memcached 扩展安装包:
      memcached-2.2.0.tgz     libmemcached-1.0.18.tar.gz  
  
  安装包下载地址:链接:http://pan.baidu.com/s/1eS8f1Yy 密码:ph4b
               链接:http://pan.baidu.com/s/1gfo05CB 密码:1qdn
      
六. php扩展memcached
php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached
 
[root@localhost soft]# ls
memcached-1.4.0.tar.gz
libevent-2.0.22-stable.tar.gz  memcached-2.2.0.tgz
libmemcached-1.0.18.tar.gz    
[root@localhost soft]#tar xf libmemcached-1.0.18.tar.gz -C /usr/src
[root@localhost soft]# cd /usr/src/libmemcached-1.0.18/
[root@localhost libmemcached-1.0.18]#  ./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached/bin/memcached  
[root@localhost libmemcached-1.0.18]# make && make install
[root@localhost libmemcached-1.0.18]# cd /root/soft/
[root@localhost soft]# tar xf memcached-2.2.0.tgz -C /usr/src/
[root@localhost soft]# cd /usr/src/memcached-2.2.0/
[root@localhost memcached-2.2.0]# /usr/bin/phpize
[root@localhost memcached-2.2.0]# ./configure --with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
 
error1: no, sasl.h is not available. Run configure with –disable-memcached-sasl to disable this check

如果报errro1 的错误,根据引导执行

[root@localhost memcached-2.2.0]# ./configure --with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl --with-zlib-dir
 
error2: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
如果报error2的错误,根据如下方法解决
yum install libmemcached libmemcached-devel
yum install zlib zlib-devel

报错解决之后,编译安装

[root@localhost memcached-2.2.0]# make && make install   //出现如下行,说明编译安装正确
Installing shared extensions:        /usr/lib64/php/modules/
[root@localhost memcached-2.2.0]# vim /etc/php.ini    //在最后加入
extension=memcached.so
[root@localhost memcached-2.2.0]# php -m | grep memcached    //查看是否有memcached扩展
memcached
 

yum 安装apache php 使php支持memcached扩展的更多相关文章

  1. 【apache】yum 安装Apache(Centos 6.5)

    一.首先在系统上面查询一下是否已经安装了apache [Apache在linux系统里的名字是httpd] rpm    -qa    httpd 如果有返回的信息,则会显示已经安装的软件.如果没有则 ...

  2. yum 安装Apache

    1.查看是否安装Apache,命令:  rpm    -qa    httpd 2.yum install httpd ,yum安装Apache 3.chkconfig    httpd  on  s ...

  3. Centos 6.5 yum 安装Apache软件

    首先在系统上面查询一下是否已经安装了apache 软件[Apache软件在linux系统里的名字是httpd] rpm    -qa    httpd 如果有返回的信息,则会显示已经安装的软件.如果没 ...

  4. CentOS上使用yum安装Apache

    关键词 CentOS上使用yum安装Apache 摘要 Apache在Linux系统中,其实叫“httpd”,它“无耻的”占据了官方名义!CentOS可以使用yum命令,非常简单和容易的安装Apach ...

  5. yum安装Apache,Mysql,PHP

    用yum安装Apache,Mysql,PHP.  用yum安装Apache,Mysql,PHP. 2.1安装Apache yum install httpd httpd-devel 安装完成后,用/e ...

  6. yum安装Apache Web Server后各个文件存放位置

    yum安装Apache Web Server后各个文件存放位置   用yum安装apache软件: yum -y install httpd 安装完成后,来查看理解yum安装软件的过程和安装路径.   ...

  7. Centos7:yum安装apache,编译安装php5.6,不解析php的解决方法

    首先,说一下问题发生的场景: 因为懒,所以用 yum 安装 apache ,因为 centos 的源自带 php 5.4 不能符合环境要求,而不想用其他源,所以选择源码编译安装 php 5.6 安装完 ...

  8. CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可

    CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl e ...

  9. 转载:centos上yum安装apache+php+mysql等

    1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...

随机推荐

  1. apscheduler定时器

    每天定时任务: import time from apscheduler.schedulers.background import BackgroundScheduler def foo(): pri ...

  2. Java多线程之Thread、Runnable、Callable及线程池

    一.多线程 线程是指进程中的一个执行流程,一个进程中可以有多个线程.如java.exe进程中可以运行很多线程.进程是运行中的程序,是内存等资源的集合,线程是属于某个进程的,进程中的多个线程共享进程中的 ...

  3. Goodbye 2017 B

    [题意]: 鲍勃编程一个机器人在2d迷宫中导航.迷宫有一些障碍.空单元格用'.'表示,其中障碍物用'#'表示.迷宫中有一个机器人.它的起始位置用字符“S”表示.这个位置没有任何障碍.迷宫中也有一个出口 ...

  4. ABP开发框架前后端开发系列---(1)框架的总体介绍

    ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架.ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型.学习使用ABP ...

  5. [CF665F]Four Divisors

    题目大意: 给定$n(n\leq10^{11})$,求$\displaystyle\sum_{i=1}^n[\tau(i)=4]$. 思路: 设$p,q$为不相等的质数,则满足$\tau(i)=4$的 ...

  6. java反射和代理

    这一篇我们说说反射和动态代理,为什么这两个要一起说呢?因为动态代理中会用到反射,而且java中反射的用处太多了,基本上无处不在,而且功能十分强大: 1.反射简介 反射是什么呢?一般都是很专业的说法:在 ...

  7. 转:如何将 Java 项目转换成 Maven 项目

    如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...

  8. Maven出现错误No plugin found for prefix 'jetty' in the current project and in the plugin groups的问题解决

    只需在maven的setting.xml文件上加入如下节点: <pluginGroups> <pluginGroup>org.mortbay.jetty</pluginG ...

  9. UIView之userInteractionEnabled属性介绍-特殊子类覆盖多见于UIImageView和UILabel

    属性作用 该属性值为布尔类型,如属性本身的名称所释,该属性决定UIView是否接受并响应用户的交互. 当值设置为NO后,UIView会忽略那些原本应该发生在其自身的诸如touch和keyboard等用 ...

  10. Android 蓝牙技术 实现终端间数据传输

    蓝牙技术在智能硬件方面有很多用武之地,今天我就为大家分享一下蓝牙技术在Android系统下的使用方法技巧.蓝牙是一种短距离的无线通信技术标准,蓝牙协议分为4层,即核心协议层.电缆替代协议层.电话控制协 ...