标签:Linux
PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/安装php5
#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 //图片的元数据支持
如无特殊要求,直接复制上面的参数初始化即可。
错误提示,缺少xml2库,安装即可。
因为我们编译的php的参数较多,所有要安装的包也较多,这里根据提示安装就行。
#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 install
查看php加载的模块:/usr/local/php/bin/php -m 这些模块都 是静态的模块。
查看apache的模块,可以看到php5的动态模块:/usr/local/apache2.4/bin/httpd -M
查看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
标签:Linux
原文地址:http://blog.51cto.com/ccj168/2074141