徐亮伟, 江湖人称标杆徐。多年互联网运维工做经验,曾负责过大规模集群架构自动化运维管理工做。擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工做。
我的博客"徐亮伟架构师之路"累计受益数万人。
笔者Q:55240892五、572891887
架构师群:471443208php
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
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
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
--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。