• 01.PHP5.x编译详解


    ##PHP5.5编译安装

    ```

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

    yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

    yum -y install libmcrypt-devel mhash mcrypt


    mkdir -p /application/tools

    cd /application/tools

    wget  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    tar zxf libiconv-1.14.tar.gz

    cd libiconv-1.14

    ./configure --prefix=/usr/local/libiconv

    make

    make install

    cd ../


    cd /application/tools

    tar xf php-5.5.38.tar.gz

    cd php-5.5.38

    ./configure --prefix=/application/php5.5.38 --with-mysql=/application/mysql/ --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl  --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache


    ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ 

    touch ext/phar/phar.phar 

    make && make install

    ln -s /application/php5.5.38/ /application/php

    cp /application/tools/php-5.5.38/php.ini-production  /application/php/lib/php.ini

    cp /application/php/etc/php-fpm.conf.default  /application/php/etc/php-fpm.conf

    /application/php/sbin/php-fpm

    ```

    ##PHP5.6.23编译安装


    ```

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

    yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

    yum -y install libmcrypt-devel mhash mcrypt



    cd /usr/local/src 

    tar zxf php-5.6.23.tar.gz 

    cd php-5.6.23

    ./configure --prefix=/usr/local/php-fastcgi5.6.23 --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-jpeg-dir --with-png-dir --with-zlib --enable-xml  --with-libxml-dir --with-curl --enable-bcmath --enable-shmop --enable-sysvsem  --enable-inline-optimization --enable-mbregex --with-openssl --enable-mbstring --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr/lib64 --with-gettext=/usr/lib64 --enable-sockets --with-xmlrpc --enable-zip --enable-soap --disable-debug --enable-opcache --enable-zip --with-config-file-path=/usr/local/php-fastcgi/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www && make && make install


    内存小于一个G,在最后加上。

    --disable-fileinfo

    ```


    ##PHP5.3.27编译安装


    ```

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

    yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y

    yum -y install libmcrypt-devel mhash mcrypt


    mkdir -p /application/tools

    cd /application/tools

    wget  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    tar zxf libiconv-1.14.tar.gz

    cd libiconv-1.14

    ./configure --prefix=/usr/local/libiconv

    make

    make install

    cd ../


    cd /usr/local/src

    tar xf php-5.3.27.tar.gz

    cd php-5.3.27

    ./configure --prefix=/usr/local/php5.3.27 --with-mysql=/usr/local/mysql/ --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp

    ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/ 

    touch ext/phar/phar.phar 

    make && make install

    ln -s /usr/local/php5.3.27/ /usr/local/php

    cp /usr/local/src/php-5.3.27/php.ini-production  /usr/local/php/lib/php.ini

    cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf

    /usr/local/php/sbin/php-fpm



    ##PHP5.3.27编译参数详解

    [root@lnmp01 tools]# tar xf php-5.3.27.tar.gz解压压缩包

    [root@lnmp01 tools]# cd php-5.3.27 进入php安装目录

    ./configure 编译参数

    --prefix=/application/php5.3.27 指定php的安装路径为/application/php5.3.27

    --with-mysql=/application/mysql/  需要指定mysql的安装路径,安装PHP需要的MySQL相关内容。当然如果没有MySQL软件包,也可以不单独安装,这样的情况可使用--with-mysql=mysqlnd替代--with-mysql=/application/mysql,因为PHP软件里面已经自带连接MySQL的客户端工具。

    --with-iconv-dir=/usr/local/libiconv libiconv库,各种字符集间的转换

    --with-freetype-dir 打开对freetype字体库支持

    --with-jpeg-dir 打开对jpeg图片的支持

    --with-png-dir 打开对png图片的支持

    --with-zlib 打开zlib库的支持,用于http压缩传输

    --with-libxml-dir=/usr 打开libxml2库的支持

    --enable-xml

    --disable-rpath 关闭额外的运行库文件

    --enable-safe-mode 打开安全模式

    --enable-bcmath 打开图片大小调整,用zabbix监控时会用到该模块

    --enable-shmop 

    --enable-sysvsem 使用sysv信号机制,则打开此选项

    --enable-inline-optimization 优化线程

    --with-curl 打开curl浏览工具的支持

    --with-curlwrappers 运维curl工具打开url流

    --enable-mbregex

    --enable-mbstring 支持mbstring

    --with-mcrypt 编码函数库

    --with-gd 打开gd库的支持

    --enable-gd-native-ttf 支持TrueType字符串函数库

    --with-openssl openssl的支持,加密传输时用到

    --with-mhash mhash算法的扩展

    --enable-pcntl freeTDS需要用到,可能是链接mssql

    --enable-sockets 打开sockets支持

    --with-xmlrpc 打开xml-rpc的c语言

    --enable-zip 打开对zip的支持

    --enable-soap soap模块的扩展

    --enable-short-tags 开始和标记函数

    --enable-zend-multibyte 支持zend的多字节

    --enable-static 生成静态链接库

    --with-xsl 打开XSLT文件支持,扩展libXML2库,需要libxslt软件

    --enable-ftp 打开ftp的支持

    --enable-fpm 表示激活PHP-FPM方式服务,即FactCGI方式运行PHP服务。

    --with-fpm-user=www 指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一。

    --with-fpm-group=www 指定PHP-FPM进程管理用户组为www,此处最好和Nginx服务用户组统一。

     [root@lnmp01 php]# ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/ 软链接

    [root@lnmp01 php]# touch ext/phar/phar.phar  创建php安装需要文件

    [root@lnmp01 php]# make && make install 编译安装

    [root@lnmp01 php]# ln -s /application/php5.3.27/ /application/php 链接去版本(方便升级及后续维护)

    [root@lnmp01 php]# cp /application/tools/php-5.3.27/php.ini-production  /application/php/lib/php.ini 拷贝php.ini需要配置文件

    [root@lnmp01 php]# cp /application/php/etc/php-fpm.conf.default  /application/php/etc/php-fpm.conf 拷贝php-fpm配置文件

    [root@lnmp01 php]# /application/php/sbin/php-fpm 启动php-fpm

    ```



  • 相关阅读:
    创建类型5-3:单例模式(Singleton Pattern)
    创建类型5-2:抽象工厂模式(Abstract Factory Pattern)
    创建类型5-1:工厂模式(Factory Pattern)
    第一章:Netty介绍
    第二章:第一个Netty程序
    第四章:Transports(传输)
    第十六章:从EventLoop取消注册和重新注册
    第十五章:选择正确的线程模型
    第十四章:实现自定义的编码解码器
    第十三章:通过UDP广播事件
  • 原文地址:https://www.cnblogs.com/xuliangwei/p/6395488.html
Copyright © 2020-2023  润新知