广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php5.6.31如何编译安装
  • 398
分享到

php5.6.31如何编译安装

CentOSPHP5.6.31 2019-06-24 07:06:46 398人浏览 猪猪侠
摘要

本文操作环境:Centos 7系统、PHP版本:5.6.31 Nginx版本:1.7.3 Mysql版本:5.6.62、DELL G3电脑php5.6.31如何编译安装?CentOS 7 编译安装PHP5.6.31: 服务器上

本文操作环境:Centos 7系统、PHP版本:5.6.31 Nginx版本:1.7.3 Mysql版本:5.6.62、DELL G3电脑

php5.6.31如何编译安装?

CentOS 7 编译安装PHP5.6.31:

服务器上已经有nginx和mysql,所以就决定采用 PHP+Nginx+mysql这个组合,在网上翻了很多资料,由于对linuxphp不不了解,不知道PHP和nginx和mysql是怎么关联的,遇到各种原因(不是php装错了,就是包没装,),花了很多时间,后来部署完后发现,这三个都是单独安装(额~~难道还能一起安装),只需要php安装后配置下,nginx的配置下(和php的关联)就直接可以跑了。至于mysql,只要开启,php项目里面的连接数据库配置好了,可以直接连上去。所以本文主要针对php的安装。

关于nginx和mysql的安装,开始安装前需要在linux的一些开发库安装在此也不复述,参考链接里面都有。

PHP安装配置

nginx本身不能处理PHP,它只是个WEB服务器,当接收到请求后,如果是php请求,则发送给php解释器处理,并把结果返回给客户端。

nginx一般把请求发送给fastcgi管理进程处理,fastcgi管理进程选择cgi子进程处理结果并返回nginx。

什么是PHP-FPM?PHP-FPM是一个属于PHP的FASTCGI管理器,只用于PHP,新版本已集成php-fpm了,php-fpm提供更好的php进程管理,可以有效控制内存和进程,可以平滑重载php配置。在configure时,带-enable-fpm参数即可开启php-fpm,其他参数可见这里,至于什么是fastcgi,和php-fpm什么关系,可参考链接https://segmentfault.com/q/1010000000256516

安装前准备

添加 epel 源

rpm -Uvh Http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装依赖

yum install GCc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-develyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel

下载php-5.6.31

1)将安装包解压到 /usr/local/src

cd /usr/local/srctar -zvxf php-5.6.31.tar.gz

2)进入安装目录,进行安装

cd php-5.6.31./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \--enable-mbstring --enable-pdo --with-curl --disable-debug  --disable-rpath \--enable-inline-optimization --with-bz2  --with-zlib --enable-Sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir --with-freetype-dir --enable-calendarmake && make install
CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror

以上就完成了php-fpm的安装,安装过程会花一些时间。

关于php配置

为php提供配置文件

cp php.ini-production /usr/local/php/etc/php.ini

注意:php.ini-production 还是在刚才/usr/local/src/php-5.6.31 目录下

为php-fpm提供配置文件

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf

修改php-fpm.conf

user = www
group = www

如果www用户不存在,那么先添加www用户(默认运行用户nobody)

groupadd www
useradd -g www www

如果没有配置这一步,浏览器打开 php 文件会报错

“The page you are looking for is temporarily unavailable. Please try again later”

修改

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid

启动php-fpm

执行

/usr/local/php/sbin/php-fpm

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

ps aux | grep php-fpm

结果如下图:

nginx和php-fpm整合

编辑nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

初始内容如下:

# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;

# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;

# 工作模式和连接数上限
events {
    # 每个worker_processes的最大并发链接数
    # 并发总数:worker_processes*worker_connections
    worker_connections 1024;
}

# 与提供http服务相关的一些配置参数类似的还有mail
http {
    # 设置日志的格式
    log_fORMat  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
    access_log  /var/log/nginx/access.log  main;

    # 这部分下面会单独解释
    # 设置nginx是否使用sendfile函数输出文件
    sendfile            on;
    # 数据包最大时发包(使用Nagle算法)
    tcp_nopush          on;
    # 立刻发送数据包(禁用Nagle算法)
    tcp_nodelay         on;
    # 链接超时时间
    keepalive_timeout   65;
    # 这个我也不清楚...
    types_hash_max_size 2048;

    # 引入文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;
    # 默认文件类型
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    # http服务上支持若干虚拟主机。
    # 每个虚拟主机一个对应的server配置项
    # 配置项里面包含该虚拟主机相关的配置。
    server {
        # 端口
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 访问的域名
        server_name  _;
        # 默认网站根目录(www目录)
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        # 默认请求
        location / {
        }

        # 错误页(404)
        error_page 404 /404.html;
            location = /40x.html {
        }

        # 错误页(50X)
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

我们要更改配置的只需要server部分就可以了。进入vim编辑模式,或者用FlashFXP将配置文件共享到桌面来更改即可。

只需要改动三处即可

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 这里改动了,也可以写你的域名,我用的是IP地址
        server_name  192.168.0.222;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            # 这里改动了 定义首页索引文件的名称
            index index.php index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        # 这里新加的
        # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
        # Fastcgi服务器和程序(PHP,python)沟通的协议.
        location ~ \.php$ {
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }
    }

重启nginx服务器

nginx -s reload

此时,nginx和php已经联合配置完成了,但是我们并不知道实际配置效果如何,这个时候我们可以写一个小的测试脚本来验证一下。
之前提过了/usr/share/nginx/html是Nginx的网站根目录,我们可以在此目录下建立一个php测试脚本。

# phpinfo.php是我要建立的文件名

vi /usr/share/nginx/html/phpinfo.php

打开编辑器后,在里面输入

<?php
phpinfo();// 测试信息?>

保存退出后,在浏览器中输入http://192.168.0.222/phpinfo.php,我这里的ip是192.168.0.222,你换成你们自己的即可。如图出现类似如下界面:

Nginx和php已经配置完成了。

安装过程出错原因

我按流程安装时,出现了一个错误:mcrypt.h not found. Please reinstall libmcrypt

是因为php-mcrypt libmcrypt libmcrypt-devel这些包没安装,出现的错误一般都是缺少库或者包,安装即可。

此时PHP已经配置完成,祝君安装顺利。顺便提前祝大家新年快乐!

--结束END--

本文标题: php5.6.31如何编译安装

本文链接: https://www.lsjlt.com/news/1149.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php5.6.31如何编译安装
    本文操作环境:CentOS 7系统、php版本:5.6.31 nginx版本:1.7.3 mysql版本:5.6.62、DELL G3电脑php5.6.31如何编译安装?CentOS 7 编译安装PHP5.6.31: 服务器上...
    99+
    2019-06-24
    CentOS PHP5.6.31
  • 如何编译安装php5.6.31
    这篇文章主要为大家展示了“如何编译安装php5.6.31”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何编译安装php5.6.31”这篇文章吧。编译安装php5.6.31的方法:1、添加epe...
    99+
    2023-06-25
  • 怎么编译安装php5.6.31
    本文操作环境:CentOS 7系统、php5.6.31版、DELL G3电脑怎么编译安装php5.6.31?CentOS 7 编译安装PHP5.6.31 服务器上已经有nginx和mysql,所以就决定采用 PHP+Nginx...
    99+
    2020-01-23
    php5.6.31
  • php5.6.31怎么编译安装
    小编给大家分享一下php5.6.31怎么编译安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php5.6.31编译安装的方法:1、添加epel源;2、安装依赖;...
    99+
    2023-06-28
  • 如何编译安装redisd
    这篇文章给大家分享的是有关如何编译安装redisd的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装方法:yum安装查看yum仓库redis版本[root@centos ...
    99+
    2022-10-18
  • PHP如何编译安装
    这篇文章将为大家详细讲解有关PHP如何编译安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP编译安装# cd /usr/local/src# wget  ...
    99+
    2022-10-19
  • php5.2如何编译安装
    本篇文章给大家分享的是有关php5.2如何编译安装,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php5.2编译安装的方法:1、下载php;2、下载php-fpm;3、安装所需...
    99+
    2023-06-29
  • 如何编译安装zabbix
    这篇文章主要为大家展示了“如何编译安装zabbix”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何编译安装zabbix”这篇文章吧。1.下载资源下载安装包(自行去网上搜索)获取包zabbix-...
    99+
    2023-06-04
  • php7.2如何编译安装imap
    这篇“php7.2如何编译安装imap”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php7.2如何编译安装imap”文章吧...
    99+
    2023-07-06
  • 如何编译安装php gd
    本文操作环境:linux5.9.8系统、PHP7.1版、DELL G3电脑如何编译安装php gd?php编译安装gd扩展做php开发经常需要用到gd库,但是也遇到几次部署环境默认没有安装gd的情况,遂在此做下总结,以备不时之需.通过yum...
    99+
    2021-11-27
    php gd
  • CentOS如何编译安装MySQL
    本篇内容介绍了“CentOS如何编译安装MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • 如何编译安装php-5.5.34
    小编给大家分享一下如何编译安装php-5.5.34,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!编译安装php-5.5.341、...
    99+
    2022-10-19
  • centos7如何编译安装mysql
    这篇文章主要介绍centos7如何编译安装mysql,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! centos7编译安装mysql的方法:1、安装依赖包...
    99+
    2022-10-19
  • 如何编译和安装Golang
    Golang是一种现代化的编程语言,被许多程序员和开发人员投入到实际工作中。Golang编译和安装非常简单,而且可以在各种操作系统中运行。本文将详细介绍如何编译和安装Golang。一. 下载Golang首先,需要在Golang官方网站(ht...
    99+
    2023-05-14
  • Ubuntu Mono如何安装编译
    这篇文章主要介绍了Ubuntu Mono如何安装编译,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Ubuntu Mono已被广泛应用但是也在不断的更新,这里介绍Ubuntu ...
    99+
    2023-06-16
  • 如何编译安装 vsFTP 3.0.3
    这篇文章给大家分享的是有关如何编译安装 vsFTP 3.0.3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。漏洞详情VSFTP是一套基于GPL发布的类Unix系统上使用的FTP服务器软件。该软件支持虚拟用户、支持...
    99+
    2023-06-15
  • mac如何编译安装 php7
    这篇文章主要介绍mac如何编译安装 php7,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mac编译安装php7的方法:1、通过“wget -c http://mirrors.sohu.com/php/php-7.1...
    99+
    2023-06-22
  • php如何编译安装mysql
    这篇文章主要讲解了“php如何编译安装mysql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何编译安装mysql”吧!php编译安装mysql的方法:1、进入php源码包安装路径p...
    99+
    2023-06-28
  • ubuntu如何编译安装Pangolin
    这篇文章主要介绍了ubuntu如何编译安装Pangolin的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ubuntu如何编译安装Pangolin文章都会有所收获,下面我们一起来看看吧。1. 下载源码步骤如下:#...
    99+
    2023-07-04
  • centos6.8如何编译安装php
    这篇文章主要介绍“centos6.8如何编译安装php”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“centos6.8如何编译安装php”文章能帮助大家解决问题。centos6.8编译安装php的方...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作