1. 云栖社区>
  2. PHP教程>
  3. 正文

三、编译安装php-5.5.34

作者:用户 来源:互联网 时间:2017-12-01 20:49:05

php安装编译5.5

三、编译安装php-5.5.34 - 摘要: 本文讲的是三、编译安装php-5.5.34, 1、解决依赖关系安装依赖包:#yum-ygroupinstall"DesktopPlatformDevelopment"#yuminstallgccmakegd-devellibjpeg-devellibjpeg-turbo-devell


1、解决依赖关系安装依赖包:#yum-ygroupinstall"DesktopPlatformDevelopment"
#yuminstallgccmakegd-devellibjpeg-devellibjpeg-turbo-devellibpng-devellibxml2-develbzip2-devellibcurl-devellibiconv-devellibeventlibevent-develzlib-devel-y
#yuminstallfreetype-devellibxsltlibxslt-devel-y

如果想让编译的php支持mcrypt扩展,此处还需要单独安装此依赖包,epel6源自带可以直接安装:

#yum-yinstalllibmcryptlibmcrypt-develmhashmhash-develmcrypt

注:如果你使用的epel7的源,可能会没有 mcrypt mhash mhash-devel 几个包,可以在 http://mirrors.aliyun.com/epel/6/x86_64/中下载,使用 yum localinstall xxx.rpm 或 rpm -Uvh xxx.rpm 手动安装即可。

编译安装libiconv库

[[email protected]]#wgethttp://down1.chinaunix.net/distfiles/libiconv-1.14.tar.gz
[[email protected]]#tarxflibiconv-1.14.tar.gz
[[email protected]]#cdlibiconv-1.14
[[email protected]]#./configure--prefix=/usr/local/libiconv
[[email protected]]#make&&makeinstall2、编译安装php-5.5.34

首先下载源码包至本地目录,

[[email protected]]#wgethttp://cn2.php.net/distributions/php-5.5.34.tar.gz
[[email protected]]#tarxfphp-5.5.34.tar.gz
[[email protected]]#cdphp-5.5.34

然后执行以下编译参数:

./configure/
--prefix=/usr/local/php/
--with-config-file-path=/etc/
--with-config-file-scan-dir=/etc/php.d/
--with-bz2/
--with-curl/
--enable-ftp/
--enable-sockets/
--disable-ipv6/
--with-gd/
--enable-gd-native-ttf/
--with-jpeg-dir/
--with-png-dir/
--with-freetype-dir/
--with-iconv-dir=/usr/local/libiconv/
--enable-mbstring/
--with-mcrypt/
--with-mhash/
--with-openssl/
--enable-bcmath/
--enable-calendar/
--with-gettext/
--enable-soap/
--with-libxml-dir=/usr/
--with-zlib/
--with-pdo-mysql=mysqlnd/
--with-mysqli=mysqlnd/
--with-mysql=mysqlnd/
--enable-dom/
--enable-xml/
--enable-fpm/
--with-fpm-user=nginx/
--with-fpm-group=nginx/
--with-libdir=lib64#make
#maketest
#makeintall参数说明:
"""安装路径"""
--prefix=/usr/local/php/
"""php.ini配置文件路径"""
--with-config-file-path=/etc/
"""优化选项"""
--enable-inline-optimization/
--disable-debug/
--disable-rpath/
--enable-shared/
"""启用opcache,默认为ZendOptimizer+(ZendOpcache)"""
--enable-opcache/
"""FPM"""
--enable-fpm/
--with-fpm-user=www/
--with-fpm-group=www/
"""MySQL"""
--with-mysql=mysqlnd/
--with-mysqli=mysqlnd/
--with-pdo-mysql=mysqlnd/
"""国际化与字符编码支持"""
--with-gettext/
--enable-mbstring/
--with-iconv/
"""图片格式的支持"""
--with-freetype-dir/
--with-jpeg-dir/
--with-png-dir/
"""加密扩展"""
--with-mcrypt/
--with-mhash/
--with-openssl/
"""数学扩展"""
--enable-bcmath/
"""Web服务,soap依赖libxml"""
--enable-soap/
--with-libxml-dir/
"""进程,信号及内存"""
--enable-pcntl/
--enable-shmop/
--enable-sysvmsg/
--enable-sysvsem/
--enable-sysvshm/
"""socket&curl"""
--enable-sockets/
--with-curl/
"""压缩与归档"""
--with-zlib/
--enable-zip/
--with-bz2/
Zabbix安装需要的PHP扩展参数
--enable-bcmath
--enable-mbstring
--enable-sockets
--with-gd
--with-libxml-dir=/usr/local
xmlwriter同上
xmlreader同上
ctype默认支持
session默认支持
gettext默认支持3、为php提供配置文件:[[email protected]]#cpphp.ini-production/etc/php.ini

说明:

php.ini-development//开发环境用

php.ini-production //生产环境用

4、配置PHP-FPM4.1 简介:

PHP-FPM(FastCGIProcess Manager:FastCGI进程管理器)

PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的。它提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带–enable-fpm参数即可开启PHP-FPM。

使用PHP-FPM来控制PHP-CGI的FastCGI进程

/usr/local/php/sbin/php-fpm{start|stop|quit|restart|reload|logrotate}

--start 启动php的fastcgi进程

--stop 强制终止php的fastcgi进程

--quit 平滑终止php的fastcgi进程

--restart 重启php的fastcgi进程

--reload 重新平滑加载php的php.ini

--logrotate 重新启用log文件

4.2 配置php-fpm:

4.2.1为php-fpm提供SysV init脚本,并将其添加至开机启动服务列表

[[email protected]]#cdphp-5.5.34
[[email protected]]#cpsapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm
[[email protected]]#chmod+x/etc/rc.d/init.d/php-fpm
[[email protected]]#chkconfig--addphp-fpm
[[email protected]]#chkconfigphp-fpmon

4.2.2为php-fpm提供配置文件:

[[email protected]]#cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf

4.2.3编辑php-fpm的配置文件:

#vim/usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值,默认会启用pid文件:
pm.max_children=150
pm.start_servers=8
pm.min_spare_servers=5
pm.max_spare_servers=105、启动php-fpm:#servicephp-fpmstart
说明:php-fpm可用参数start|stop|force-quit|restart|reload|status6、为了方便使用,可以将 PHP 命令添加到环境变量[[email protected]]#vim~/.bash_profile

#.bash_profile

#Getthealiasesandfunctions
if[-f~/.bashrc];then
.~/.bashrc
fi

#Userspecificenvironmentandstartupprograms
#将PATH=$PATH:$HOME/bin改为:PATH=$PATH:$HOME/bin:/usr/local/php/bin
PATH=$PATH:$HOME/bin:/usr/local/php/bin

exportPATH

保存退出。使PHP环境变量生效:
[[email protected]]#.~/.bash_profile查看看PHP版本
[[email protected]]#php-v
PHP5.5.34(cli)(built:Apr7201611:22:13)
Copyright(c)1997-2015ThePHPGroup
ZendEnginev2.5.0,Copyright(c)1998-2015ZendTechnologies
withXCachev3.1.2,Copyright(c)2005-2014,bymOo
withXCacheCacherv3.1.2,Copyright(c)2005-2014,bymOo7、检验:

使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):

#psaux|grepphp-fpm
root547220.00.31757285932?Ss20:190:00php-fpm:masterprocess(/usr/local/php/etc/php-fpm.conf)
www547230.00.21757285144?S20:190:00php-fpm:poolwww
www547240.00.21757285144?S20:190:00php-fpm:poolwww
www547250.00.21757285144?S20:190:00php-fpm:poolwww
www547260.00.21757285144?S20:190:00php-fpm:poolwww
www547270.00.21757285144?S20:190:00php-fpm:poolwww
root548370.00.0103308852pts/1S+20:220:00grepphp-fpm

默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。

#netstat-tnlp|grepphp-fpm
tcp00127.0.0.1:90000.0.0.0:*LISTEN54722/php-fpm8、整合nginx和php58.1.编辑/etc/nginx/nginx.conf,启用如下选项:#在所支持的主页面格式中添加php格式的主页
location/{
roothtml;
indexindex.phpindex.htmlindex.htm;
}
#1.启用fastcgi,去掉前面的“#”号,
#2.注意fastcgi下的root要与server下的其它location的root目录一致,
#3.将fastcgi_param的/scripts改为$document_root
location~/.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}8.2.重新载入nginx的配置文件:#servicenginxreload9、测试:

php程序与mysql安装情况:

[[email protected]~]#cd/usr/local/nginx/html/
[[email protected]]#vimindex.php

<?php
$link=mysql_connect('127.0.0.1','root','test123');
if($link)
echo"Success";
else
echo"failure";
mysql_close();
phpinfo();
?>

然后浏览器输入ip地址:

三、编译安装php-5.5.34nginx ,mysql,php安装成功。


以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 安装 , 编译 , 5.5 ,以便于您获取更多的相关知识。