热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7.3编译安装php-7.1.10

实验环境:centos7.3主机一台apache服务配置结束http:php.net官网下载最新版php源码包实验前准备]#yuminstalllibxml2-devel-y

实验环境:

  1. centos7.3主机一台

  2. apache服务配置结束

  3. http://php.net/ 官网下载最新版php源码包

实验前准备

]#yum install libxml2-devel -y]#yum install bzip2-devel -y
]#yum install libmcrypt-devel -y  <===基于epel源

编译安装

]#rz]#tar xvf php-7.1.10.tar.xz]#cd php-7.1.10/]#./configure --prefix=/app/php \--enable-mysqlnd \--with-mysqli=mysqlnd \--with-openssl \--with-pdo-mysql=mysqlnd \--enable-mbstring \--with-freetype-dir \--with-jpeg-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \ --enable-xml \--enable-sockets \--with-apxs2=/app/httpd24/bin/apxs \--with-mcrypt \--with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--enable-maintainer-zts \--disable-fileinfo]#make && make install

添加配置文件

]#cd php-7.1.10/]#cp php.ini-production /etc/php.ini

编辑apache配置文件httpd.conf,以使apache支持php

]#vim /etc/httpd24/conf/httpd.conf    DirectoryIndex index.php index.html       <===添加index.php一行AddType application/x-httpd-php .php           <===添加以下两行AddType application/x-httpd-php-source .phps

测试

]#cd /app/httpd24/htdocs  <===编译安装的主页在这里]#vim index.php]#ab -c 10 -n 100 http://192.168.32.111/index.php         <===另外一台主机测试服务器性能  ..Time per request:       21.902 [ms] (mean)           Time per request:       2.190 [ms] (mean, across all concurrent requests)Transfer rate:          36964.69 [Kbytes/sec] received..

wKioL1nd6Y2hgu9QAAG5j8V_QjY515.jpg-wh_50

通过查看包组可以看到php的配置文件是在httpd下面,归httpd管理的一个小模块。能不能单独作为一个服务呢?当然可以。这就是fpm机制。

]#rpm -ql php/etc/httpd/conf.d/php.conf/etc/httpd/conf.modules.d/10-php.conf/usr/lib64/httpd/modules/libphp5.so/usr/share/httpd/icons/php.gif/var/lib/php/session

FPM机制

CentOS 6:

    PHP-5.3.2之前:默认不支持fpm机制;需要自行打补丁并编译安装

    httpd-2.2:默认不支持fcgi协议,需要自行编译此模块

    解决方案:编译安装httpd-2.4, php-5.3.3+

CentOS 7:

    httpd-2.4:rpm包默认编译支持了fcgi模块

    php-fpm包:专用于将php运行于fpm模式

这里给大家介绍一下基于php-fpm包的fpm模式。

前提:卸载原来的php包,二者不能同时运行。

安装:

]#yum install -y php-fpm]#rpm -ql php-fpm/etc/logrotate.d/php-fpm/etc/php-fpm.conf/etc/php-fpm.d /etc/php-fpm.d/www.conf            <===修改监听地址,允许连接的地址等/etc/sysconfig/php-fpm/run/php-fpm/usr/lib/systemd/system/php-fpm.service/usr/lib/tmpfiles.d/php-fpm.conf/usr/sbin/php-fpm/usr/share/doc/php-fpm-5.4.16/usr/share/doc/php-fpm-5.4.16/fpm_LICENSE/usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default/usr/share/fpm/usr/share/fpm/status.html/usr/share/man/man8/php-fpm.8.gz/var/log/php-fpm]#systemctl start php-fpm.service

添加配置文件

]#vim /etc/httpd24/httpd.conf  <===在httpd配置文件中添加,我这里是编译安装的httpdDirectoryIndex index.phpProxyRequests Off           <===是否开启正向代理ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1  <===开启FCGI反向代理注释:前面的/相对于后面的/var/www/html而言,后面的$1是指前面的/(.*\.php)

如果需要配置虚拟主机,把这段代码写进/etc/httpd/conf.d/vhosts.conf 

.

.

DirectoryIndex index.php

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/b.net/$1

.

注意:在HTTPD服务器上必须启用proxy_fcgi_module模块,充当PHP客户端。


推荐阅读
  • phpmysql一键安装包,Mysql安装包
    本文目录一览:1、哪里有PHPMySQLDatabaseApacheServer一 ... [详细]
  • 【实践】基于RTThread的智慧路灯案例实验分享
    之前分享了基于LiteOS的智慧农业案例实验分享基于LiteOS的智慧农业案例实验分享,阅读量挺不错,看样子大家都挺喜欢这种实验。那咱们就再来一个类似的实验:基于RT-Thread ... [详细]
  • docker整体了解
    Docker是一个基于LXC技术构建的容器引擎,基于Go语言开发,遵循Apache2.0协议开源Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移 ... [详细]
  • php开发属于哪个类别(php类和对象的区别)
    导读:本篇文章编程笔记来给大家介绍有关php开发属于哪个类别的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、php属于什 ... [详细]
  • gzip html php,Apache启用Gzip压缩的方法,压缩css、js、html等文件
    1、开启模块并添加配置项目a、linux服务器vietchttpdconfhttpd.conf本地服务器找到apacheconf文件夹下面httpd.confb、查找LoadMod ... [详细]
  • php array_unique函数的用法?
    后端开发|PHP问题php,array_unique函数后端开发-PHP问题array_unique()是PHP中的内置函数,语法为array_unique(array,sort_ ... [详细]
  • 最近开始关注struts2的新特性,从这个版本开始,Struts开始使用convention-plugin代替codebehind-plugin来实现s ... [详细]
  • 1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录位置,那么需 ... [详细]
  • 将android-support-multidex.jar放到libs下然后编译,出现如下错误:Error:Executionfailedfortask':app:pack ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • jdk安装与环境变量配置,看这一篇就够了
    文章目录场景jdk下载安装如何环境变量的配置总结场景在做java开发或者android开发,经常会碰到jdk安装与环境变量的配置,每次配置的时候,经常需要去查看一下,而且偶尔还会出 ... [详细]
  • Go 中的 init 函数 ... [详细]
  • 编译lib手动编译cmake编译gtest测试程序断言和caseFixture使用gmock编译gmock测试程序参考GtestGithub使用gtest(gmock)方便我们编写 ... [详细]
  • 前言可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等。msys2可以在wind ... [详细]
author-avatar
zhaoyan666777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有