• 源码编译安装PHP Version 5.6.30踩了无数坑,重装了十几次服务器才会的,不容易啊!


    1 环境准备

    yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel

    yum install libpng
    yum install libpng-devel
    yum -y install libjpeg-devel
    yum install freetype-devel

    cd /usr/local/src

    wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

    tar zvxf php-5.6.30.tar.gz

    cd php-5.6.30

    groupadd www

    useradd -g www -s /sbin/nologin www

    2 编译安装 (##编译参数)

    ./configure --prefix=/usr/local/php \
    --with-apxs2=/usr/local/apache/bin/apxs \
    --with-config-file-path=/usr/local/php/etc \
    --enable-inline-optimization --disable-debug \
    --disable-rpath --enable-shared --enable-opcache \
    --enable-fpm --with-fpm-user=www \
    --with-png-dir \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-gd \
    --with-fpm-group=www \
    --with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-gettext \
    --enable-mbstring \
    --with-iconv \
    --with-mcrypt \
    --with-mhash \
    --with-openssl \
    --enable-bcmath \
    --enable-soap \
    --with-libxml-dir=/usr/ \
    --enable-pcntl \
    --enable-shmop \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-sockets \
    --with-curl --with-zlib \
    --enable-zip \
    --with-bz2 \
    --with-readline

    ##参数解释
    """ 安装路径 """
    --prefix=/usr/local/php56 \
    """ php.ini 配置文件路径 """
    --with-config-file-path=/usr/local/php56/etc \
    """ 优化选项 """
    --enable-inline-optimization \
    --disable-debug \
    --disable-rpath \
    --enable-shared \
    """ 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """
    --enable-opcache \
    """ FPM """
    --enable-fpm \
    --with-fpm-user=www \
    --with-fpm-group=www \
    """ MySQL """
    --with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    """ 国际化与字符编码支持 """
    --with-gettext \
    --enable-mbstring \
    --with-iconv \
    """ 加密扩展 """
    --with-mcrypt \
    --with-mhash \
    --with-openssl \
    """ 数学扩展 """
    --enable-bcmath \
    """ Web 服务,soap 依赖 libxml """
    --enable-soap \
    --with-libxml-dir \
    """ 进程,信号及内存 """
    --enable-pcntl \
    --enable-shmop \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    """ socket & curl """
    --enable-sockets \
    --with-curl \
    """ 压缩与归档 """
    --with-zlib \
    --enable-zip \
    --with-bz2 \
    """ GNU Readline 命令行快捷键绑定 """
    --with-readline

    3. 编译安装

    make && make install

    如下图 ,不抱任何错误

    4.配置服务

    配置文件

    cp php.ini-development /usr/local/php/etc/php.ini

    php-fpm 服务
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm

    chkconfig --add php-fpm
    chkconfig on php-fpm

    netstat -nltp|grep 9000
    service php-fpm start
     
    出现下图 Starting php-fpm done时表示安装成功
     
    5.环境变量
    PATH=$PATH:/usr/local/php/bin
    export PATH
     
    6.配置httpd支持php
    vim /usr/local/apache/conf/httpd.conf
    搜索ServerName,把#ServerName www.example.com:80前面的#号去掉

    a.找到:

    AddType application/x-gzip .gz .tgz
    在其下面添加:
    AddType application/x-httpd-php .php //添加支持对php脚本解析

    b. 找到:
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    把中间那一行改为:
    DirectoryIndex index.html index.htm index.php //增加对php的索引

    c.找到

    <Directory />
      AllowOverride None
      Require all granted
    </Directory>

    d.找到/添加

    LoadModule php5_module   modules/libphp5.so

    LoadModule php5_module modules/libphp5.so在httpd.conf中为什么会有这行代码

    原因:
    在编译php时,编译参数--with-apxs2=/usr/local/apache/bin/apxs\

    7.重启apache ,

    cd /usr/local/apache/bin/

    ./apachectl restart

    到此为止php已经编译完成了。

    接下来就是配置虚拟主机了

    在/usr/local/apache/conf/httpd.conf中,如下配置

    9.当把apache,mysql ,php全部编译完成之后就出现

    现在.lamp环境正式搭建完成....哈哈哈哈哈哈哈哈哈

  • 相关阅读:
    Nginx实战系列之功能篇----后端节点健康检查
    nginx大量TIME_WAIT的解决办法
    Nginx 获取真实 IP 方案
    Redis基本操作——List
    redis-cli 命令总结
    redis 学习笔记-cluster集群搭建
    redis集群部署及常用的操作命令_01
    redis配置文件参数详解
    Redis 主从配置和参数详解
    Tomcat源码分析-开篇(Tomcat源码部署运行 Maven方式)
  • 原文地址:https://www.cnblogs.com/yehuisir/p/10068795.html
Copyright © 2020-2023  润新知