PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/php
安装php5mysql
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz tar zxf php-5.6.30.tar.gz cd php-5.6.30
初始化安装算法
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
--prefix=/usr/local/php //指定php安装路径 --with-apxs2=/usr/local/apache2.4/bin/apxs //apache工具,让apache支持php,表示使用apache2.0以上版本,apxs表示使用的apache1.0版本,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块。 --with-config-file-path=/usr/local/php/etc //指定php的配置文件。 --with-mysql=/usr/local/mysql //指定mysql的安装路径 --with-pdo-mysql=/usr/local/mysql // --with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli扩展技术不只能够调用MySQL的存储过程、处理MySQL事务,并且还能够使访问数据库工做变得更加稳定。 --with-libxml-dir //打开libxml2库的支持 --with-gd //打开gd库的支持 --with-jpeg-dir //打开对jpeg图片的支持 --with-png-dir //打开对png图片的支持 --with-freetype-dir //打开对freetype字体库的支持 --with-iconv-dir //用于 PHP 编译时指定 iconv 在系统里的路径,不然会扫描默认路径。 --with-zlib-dir // 打开zlib库的支持,用于http压缩传输 --with-bz2 //打开对bz2文件的支持 --with-openssl //openssl的支持,加密传输https时用到的 --with-mcrypt //mcrypt算法扩展 --enable-soap // --enable-gd-native-ttf //支持TrueType字符串函数库 --enable-mbstring //多字节,字符串的支持 --enable-sockets //打开 sockets 支持 --enable-exif //图片的元数据支持
如无特殊要求,直接复制上面的参数初始化便可。sql
错误提示,缺乏xml2库,安装便可。数据库
由于咱们编译的php的参数较多,全部要安装的包也较多,这里根据提示安装就行。apache
yum install -y libxml2-devel.x86_64 yum install -y openssl-devel yum install -y bzip2-devel.x86_64 yum install -y libjpeg-devel yum install -y libpng-devel yum install -y freetype-devel yum install libmcrypt-devel
出现上面这个界面即初始化完成,能够开始编译。 make && make installphp7
查看php加载的模块:/usr/local/php/bin/php -m 这些模块都 是静态的模块。less
查看apache的模块,能够看到php5的动态模块:/usr/local/apache2.4/bin/httpd -Msocket
查看apache配置文件,能够看到多了一行加载php模块的语句,若是不想加载php模块能够注释掉。 因为咱们指定了配置文件路径,全部这里要把php默认的参考配置文件拷贝一份到/usr/local/php/etc/目录下。 cp php.ini-production /usr/local/php/etc/php.ini函数
若是是开发环境,能够使用 php.ini-development这个配置文件,php.ini-production文件适合生成环境。
用命令 /usr/local/php/bin/php -i | less能够查看php的一些信息,编译参数,配置路径等。
安装php7
cd /usr/local/src/ wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2 tar zxf php-7.1.6.tar.bz2 cd php-7.1.6 ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
以上同php5相同,只修改了安装路径和配置文件路径,其余不变。
make && make install ls /usr/local/apache2.4/modules/libphp7.so cp php.ini-production /usr/local/php7/etc/php.ini
至于要使用哪一个版本,须要在apache配置文件里面指定,即把不用的版本注释掉便可。
/usr/local/apache2.4/conf/httpd.conf