PHP编译安装
PHP5.6编译安装
配置yum源并安装依赖
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编译安装
配置yum源并安装依赖
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编译安装
配置yum源并安装依赖
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。