徐亮伟, 江湖人称标杆徐。多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工作。

个人博客"徐亮伟架构师之路"累计受益数万人。

笔者Q:552408925、572891887

架构师群:471443208

PHP5.6编译安装

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 /soft/package/src
cd /soft/package/src
tar zxf php-5.6.23.tar.gz
cd php-5.6.23
./configure --prefix=/soft/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 cd /application/tools/php/ext
/application/php/bin/phpize
./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql=/application/mysql
make && make install

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 /soft/package/src
cd /soft/package/src
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 /soft/package/src
tar xf php-5.5.38.tar.gz
cd php-5.5.38
./configure --prefix=/soft/php5.5.38 --with-mysql=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 \
&& make && make install ln -s /soft/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make && make install
ln -s /soft/php5.5.38/ /soft/php
cp /soft/src/php-5.5.38/php.ini-production /soft/php/lib/php.ini
cp /soft/php/etc/php-fpm.conf.default /soft/php/etc/php-fpm.conf
/soft/php/sbin/php-fpm //如果需要将php与MySQL独立出来
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd

PHP5.3编译安装

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 /soft/package/src
cd /soft/package/src
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 /soft/package/src
tar xf php-5.3.27.tar.gz
cd php-5.3.27
./configure --prefix=/soft/php5.3.27 \
--with-mysql=/soft/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 /soft/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make && make install ln -s /soft/php5.3.27/ /soft/php
cp /soft/package/src/php-5.3.27/php.ini-production /soft/php/lib/php.ini
cp /soft/php/etc/php-fpm.conf.default /soft/php/etc/php-fpm.conf
/soft/php/sbin/php-fpm //PHP5.3编译参数详解 [root@lnmp01 tools]# tar xf php-5.3.27.tar.gz解压压缩包
[root@lnmp01 tools]# cd php-5.3.27 进入php安装目录
./configure 编译参数
--prefix=/soft/php5.3.27 指定php的安装路径为/soft/php5.3.27
--with-mysql=/soft/mysql/ 需要指定mysql的安装路径,安装PHP需要的MySQL相关内容。
当然需要将MySQL独立安装建议使用--with-mysql=mysqlnd替代--with-mysql=/soft/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/ //创建php安装需要文件
[root@lnmp01 php]# touch ext/phar/phar.phar //make生成Makefile 最近进行编译安装
[root@lnmp01 php]# make && make install //软链接去版本(方便升级及后续维护)
[root@lnmp01 php]# ln -s /soft/php5.3.27/ /soft/php //拷贝php.ini需要配置文件
[root@lnmp01 php]# cp /soft/src/php-5.3.27/php.ini-production /soft/php/lib/php.ini //拷贝php-fpm配置文件
[root@lnmp01 php]# cp /soft/php/etc/php-fpm.conf.default /soft/php/etc/php-fpm.conf //启动php-fpm
[root@lnmp01 php]# /soft/php/sbin/php-fpm

PHP7编译参数详解

    --prefix=/usr/local/php706				//指定php安装目录
--enable-calendar //打开日历扩展功能
--enable-sysvsem //使用sysv信号机制,则打开此选项
--enable-sysvshm //启用系统V共享内存支持。
--enable-sysvmsg //启用sysvmsg支持。
--enable-bcmath //打开图片大小调整,用zabbix监控时会用到该模块
--enable-exif //图片的元数据支持
--enable-ftp //打开ftp的支持
--enable-mbstring //支持mbstring
--enable-shmop //启用shmop支持
--enable-sockets //打开sockets支持
--enable-dtrace //开启DTrace(动态跟踪)支持
--enable-soap //soap模块的扩展
--enable-zip //打开对zip的支持
--enable-mbregex //多字节字符串 函数
--enable-inline-optimization /优化线程
--enable-pcntl //freeTDS需要用到,可能是链接mssql
--enable-pdo //兼容PHP接口的数据连接拓展。
--enable-gd-native-ttf //支持TrueType字符串函数库
--enable-opcache //开启 OPcache高速缓存。
--enable-xml //
--enable-maintainer-zts /启用线程安全 - 代码维护者使用
--enable-fpm //表示激活PHP-FPM方式服务,即FactCGI方式运行PHP服务
--with-iconv-dir=/usr/local/libiconv //libiconv库,各种字符集间的转换
--with-gettext //打开gnu的gettext 支持,编码库用到
--with-libxml-dir //打开libxml2库的支持
--with-zlib //打开zlib库的支持,用于http压缩传输
--with-kerberos=/usr //Openssl包含kerberos支持
--with-openssl //openssl的支持,加密传输时用到
--with-mhash //mhash算法的扩展
--with-mysql-sock=mysql_socket //指定mysql的socket。如果未指定,按默认位置搜索
--with-mysqli=mysqlnd //mysqli扩展
--with-pdo-mysql=mysqlnd //PDO:MySQL支持。DIR是MySQL的基本目录,如果没有值或mysqlnd作为DIR传递,则将使用MySQL本机驱动程序DIR是MySQL的基本目录,如果没有值或mysqlnd作为DIR传递,则将使用MySQL本机驱动程序
--with-pdo-pgsql=pgsqlnd //启用PostgreSQL支持并指定其软件根目录或者pg_config的路径(pgsql需使用)
--with-curl //打开curl浏览工具的支持
--with-gd //打开gd库的支持
--with-xpm-dir //指定gd库libXpm的安装目录
--with-jpeg-dir //打开对jpeg图片的支持
--with-png-dir //打开对png图片的支持
--with-freetype-dir //打开对freetype字体库支持
--with-xmlrpc //打开xml-rpc的c语言
--with-fpm-user=nobody //指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一。
--with-fpm-group=nobody //指定PHP-FPM进程管理用户组为www,最好和Nginx服务用户组统一。
--with-fpm-acl //使用POSIX 访问控制列表,5.6.5版本起有效
--with-mcrypt //编码函数库
--with-tsrm-pthreads //使用 POSIX 线程(默认)。
--disable-fileinfo //关闭一些运行中的进程如mysqld,httpd等等,以节约内存。
--disable-rpath //关闭额外的运行库文件 make ZEND_EXTRA_LIBS='-liconv -L/usr/local/libiconv/lib' //iconv函数库能够完成各种字符集间的转换,比如:实现utf-8和gb2312编码的转换
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php7/etc/php.ini configure 它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并根据系统叁数及环境产生合适的Makefile文件让源程序可以很方便地在不同的平台上被编译
make 是用来编译的,它从Makefile中读取指令,然后编译。
make install 将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。从Makefile中读取指令,安装到指定的位置。
make clean 清除编译产生的可执行文件及目标文件(object file,*.o)。
make distclean 除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。 ##PHP7可选参数
--with-xsl=shared,/usr //打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-zlib-dir=/usr //定义zlib安装所在的目录(压缩与归档)
--with-snmp=shared,/usr //包含SNMP支持。(SNMP简单的服务器监控系统)
--with-tidy=shared,/usr //包含tidy支持。(网页代码分析和纠错的工具,能够支持多种页面编码,并且支持xhtml输出)
--with-recode=shared,/usr //包含recode支持(Recode库可以在各种编码字符集和表面编码之间转换文件)
--with-pspell=shared,/usr //包含PSPELL支持GNU (实现拼写检查)
--with-gmp=shared,/usr //启用GNU MP支持
--with-enchant=shared,/usr //启用 enchant 支持.(各种拼写库的抽象层)
--with-vpx-dir=shared,/usr //GD: 指定libvpx的安装目录(VP8编码解码器)
--with-system-tzdata //程序执行函数
--enable-intl //开启国际化支持(国际化与字符编码支持)
--with-mssql=shared,/usr //包含MSSQL-DB支持,并指定FreeTDS软件目录(php7已移除)
--with-ldap=shared,/usr //ldap扩展模块
--with-ldap-sasl=/usr //ldap扩展模块
--with-unixODBC=shared,/usr //包含unixODBC支持(通过ODBC链接 本地mysql)
--disable-static //禁用静态库 ##php7默认,可不增选项
--disable-debug /关闭详细的请求信息(默认为关闭)
--build=x86_64-linux-gnu //指定编译工具所在系统的系统类型BUILD
--host=x86_64-linux-gnu //指定Apache HTTP服务器将要进行交叉编译时运行的目标系统类型HOST
--localstatedir=/var //机器数据目录DIR (默认安装路径下的var)
--mandir=/usr/share/man //手册文档目录DIR (默认安装路径下的datarootdir下man目录)
--disable-short-tags 默认禁用短形式的开始标签 <? 。
--disable-libtool-lock 避免锁定(可能会破坏并行构建)
--disable-all 禁用默认情况下启用的所有扩展程序
--enable-shared=PKGS //默认启用构建共享库
--enable-static=PKGS //默认启用构建静态库
--enable-fast-install = PKGS //默认启用优化后快速安装
--enable-ctype //ctype 扩展,从PHP4.2.0默认启用。通过--disable-ctype禁用
--with-pear=/usr/share/php //PEAR(实现了诸如析构函数,错误捕获功能)默认为 PREFIX/lib/php
--with-apxs2=/usr/bin/apxs2 //apxs是以php module的模式加载PHP的。
--with-pcre-regex=/usr //PHP 4.2.0 开始这些函数是默认启用的。可以通过--without-pcre-regex //禁用 pcre 函数
--with-layout=GNU //显示安装文件的布局PHP或GNU(默认PHP)
--with-regex=php //正则表达式库类型(默认TYPE=PHP)
--with-sqlite3=shared,/usr //5.3 默认启动SQLite3 扩展。
--with-mysql-sock=SOCKPATH //mysql unix套接字指针位置。如果未指定,将搜索默认位置
--with-odbcver=HEX //强制支持通过的ODBC版本。 预期的十六进制数,默认为0x0300。
--with-gnu-ld //假设C编译器使用GNU ld default = no
--with-config-file-path=PATH //设置 php.ini 的搜索路径。默认为 PREFIX/lib。
--with-fpm-user= //默认nobody用户
--with-fpm-group= //默认nobody用户组
--with-tsrm-pthreads //默认使用 POSIX 线程。
--with-pic //尝试只使用PIC /非PIC对象,默认同时使用
--with-apxs[=FILE] //编译共享的 Apache 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。

PHP编译安装系列的更多相关文章

  1. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Spark .时间不一样,SBT是白天编译,Maven是深夜进行的,获取依赖包速度不同 ...

  2. centos6.6编译安装lnmp系列之mysql

    简介: 环境:虚拟机+centos6.6 Mysql版本:5.6.21 Mysql下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.21.t ...

  3. LANMP系列教程之php编译安装CentOS7环境

    前提:必须先安装好MySQL以及Apache   1.准备好源码包并配置好yum源,需要的源码包包括: libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel ...

  4. LANMP系列教程之Apache编译安装CentOS7环境

      1.准备好源码包并配置好yum源,需要的源码包包括:httpd-2.4.18.apr-1.5.2.tar.gz.apr-util-1.5.4.tar.gz 2.准备用户 groupadd -r a ...

  5. LANMP系列教程之MySQL编译安装CentOS7环境

      以MySQL5.5.33版本为例 1.准备工作: 1.首先准备好源代码包 2.并且确保已安装好 "开发工具" 包组和cmake编译工具 3.确保安装好ncurses-devel ...

  6. 3. CMake 系列 - 分模块编译&安装项目

    目录 1. 项目目录结构 2. 相关代码 2.1 add 模块 2.2 sub 模块 2.3 测试模块 2.4 顶层 CMakeLists.txt 3. 编译 & 安装 4. 项目安装基本语法 ...

  7. FFMPEG系列一:Mac下FFMPEG编译安装配置及使用例子

    系统环境:10.13以前系统版本,没有升级到macOS High Sierra.正常情况是直接输入brew install ffmpeg即可安装ffmpeg,但是该过程还是有一些坑需要填. 一.mac ...

  8. spice在桌面虚拟化中的应用系列之二(Linux平台spice客户端的编译安装,支持USB映射)

    1.系统环境 1.1 测试环境 centos6.4最小化安装(centos6.x桌面版也适用) 使用yum源为163源加EPEL源 1.2 spice客户端介绍 spice作为远程连接工具,可以支持远 ...

  9. Linux c++ vim环境搭建系列(3)——Ubuntu18.04.4编译安装youcompleteme

    3. youcompleteme编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe#linux-64-bit 建议不要用这个博客的方法: http ...

随机推荐

  1. chrome 55 zepto tap事件出错?

    刚才升级chrome后发现的,在54.0.2840.98上点击没有问题,在新升级的55.0.2883.75 上点击后会报错Cannot read property 'trigger' of undef ...

  2. Vue之拦截与响应拦截

    vue中有一个拦截方法,当我们发起请求或者请求回来的时候,我们需要做一定的数据过滤或者拦截 下面是在开发项目时进行的一个axios的请求封装: 拦截器:就是我们在请求之前进行的一个操作比如说,我们可以 ...

  3. [译]HIPAA要求的SSL/TLS等级

    原文链接:https://luxsci.com/blog/level-ssl-tls-required-hipaa.html 原文发表时间:2015.1.13 本博文仅仅是上述原文的翻译,仅供研究参考 ...

  4. BZOJ1304 CQOI2009 叶子的染色 【树形DP】

    BZOJ1304 CQOI2009 叶子的染色 Description 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根.内部结点和叶子均可)着以黑色或白色.你的着色方 ...

  5. 使用 Task.Wait()?立刻死锁(deadlock)

    最近读到一篇异步转同步的文章,发现其中没有考虑到异步转同步过程中发生的死锁问题,所以特地在本文说说异步转同步过程中的死锁问题. 文章作者 林德熙 已经修复了描述: - win10 uwp 异步转同步 ...

  6. thinkphp5 下 的Nginx 伪静态

    server { listen 80; server_name all.bjed.com; root "F:\www\asdata"; location / { index ind ...

  7. 关于python中的循环

    参考下面这一篇: http://www.cnblogs.com/vamei/archive/2012/05/30/2526357.html 其中用range的方式最好!

  8. Python——深浅Copy

    1. 赋值 赋值:指向同一块内存地址,所以同时改变 l1 = [1,2,3] l2 = l1 l1.append('a') print(l1,l2) # [1, 2, 3, 'a'] [1, 2, 3 ...

  9. jeecg中List页面的高级查询

    1.普通的高级查询 <t:datagrid name="orderworthList" title="订单价值统计" actionUrl="or ...

  10. 使用sigaction来取代signal作为信号处理器函数

    早期ISO C提供了像这样的函数来支持自定义信号处理 typedef void (*sighandler)(int); sighandler signal(sighandler func); 但是由于 ...