• PHP官网www.php.netphp
• 当前主流版本为5.6/7.1mysql
cd /usr/local/src/ wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2
tar jxvf php-5.6.32.tar.bz2
cd /usr/local/src/php-5.6.32/ ./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 指定安装目录 //--with-apxs2=/usr/local/apache2.4/bin/apxs 自动在httpd上配置PHP模块 //--with-config-file-path=/usr/local/php/etc 指定PHP配置文件所在路径(PHP配置文件后缀为.ini) // --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with- mysqli=/usr/local/mysql/bin/mysql_config 三种链接MySQL的驱动
在初始化时出现一个错误linux
经过报错信息判断是缺乏libxml2-devel(库)类型的安装包,也可经过命令作进一步确认(安装PHP时通常都会缺乏各类各样的库文件)sql
yum list |grep xml2
第二个错误apache
第三个错误(yum安装的包应为小写)php7
第四个错误架构
[root@linux-5 php-5.6.32]# yum install -y libjpeg-turbo-devel.x86_64
第五个错误dom
第六个错误socket
第七个错误(这是基于epel扩展源的包,须要先安装epel扩展源)测试
看到此标识,说明已经初始化成功(以防万一可用echo $?进行检查)
cp php.ini-production(development)/usr/local/php/etc/php.ini //production为生产环境,development为测试开发环境
libxml2-devel openssl-devel bzip2-devel libjpeg-turbo-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libmcrypt-devel.x86_64(须要先安装epel扩展源)
make make install
在LAMP架构中,Apache所须要PHP中的模块文件是/usr/local/apache2.4/modules/libphp5.so,PHP的做用是将php5_module模块安装在Apache上帮助Apache进行一些通讯,所以LAMP中的PHP无需启动也可正常工做
[root@linux-5 php-5.6.32]# /usr/local/apache2.4/bin/httpd -M AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::531b:14ea:3a75:f113. Set the 'ServerName' directive globally to suppress this message Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_event_module (static) authn_file_module (shared) authn_core_module (shared) authz_host_module (shared) authz_groupfile_module (shared) alias_module (shared) php5_module (shared)
Apache的配置文件/usr/local/apache2.4/conf/httpd.conf
配置文件可随用随取,被注释掉的模块都不会显示,也不会加载该模块。
cd /usr/local/src/ wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
tar jxvf php-7.1.6.tar.bz2
./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
make make install
注:一个机器中能够同时安装两个PHP,可是要配置好Apache调用哪个PHP,避免混乱,可去Apache的配置文件/usr/local/apache2.4/conf/httpd.conf中进行修改