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

怎么编译安装php5.6.31

php5.6.31 2020-01-23 10:01:44 376人浏览 才女
摘要

本文操作环境:Centos 7系统、PHP5.6.31版、DELL G3电脑怎么编译安装php5.6.31?CentOS 7 编译安装PHP5.6.31 服务器上已经有Nginx和Mysql,所以就决定采用 PHP+Nginx

本文操作环境:Centos 7系统、PHP5.6.31版、DELL G3电脑

怎么编译安装php5.6.31?

CentOS 7 编译安装PHP5.6.31

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

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

本文主要参考了此链接博客:https://www.cnblogs.com/flower-tree/p/7562101.html

php版本:5.6.31

nginx版本:1.7.3

mysql版本:5.6.62

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这些包没安装,出现的错误一般都是缺少库或者包,安装即可。

--结束END--

本文标题: 怎么编译安装php5.6.31

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

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

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

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

下载Word文档
猜你喜欢
  • 怎么编译安装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
  • 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
  • 怎么编译安装Nginx
    这篇文章主要讲解了“怎么编译安装Nginx”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么编译安装Nginx”吧!前言由于微信小程序要使用Https,但是又不能修改已有线上的配置。所以最简...
    99+
    2023-06-16
  • php5.2怎么编译安装
    本文操作环境:linux5.9.8系统、PHP5.2版、DELL G3电脑php5.2怎么编译安装编译安装php5.2.17之前php安装都是YUM直接安装,但是公司因业务需要,程序需php5.2.x才能支持,于是开始编译安装首先下载php...
    99+
    2020-08-20
    php5.2
  • Nginx怎么编译安装
    这篇文章主要讲解了“Nginx怎么编译安装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx怎么编译安装”吧! Nginx编译安装系统平台:Cent...
    99+
    2022-10-19
  • php7.3怎么编译安装
    PHP 7.3 是 PHP 语言的最新版本,相比于旧版本,其性能、速度更优秀,同时也有周到的扩展支持。为了获得最好的性能和安全性,我们需要手动编译安装 PHP 7.3。以下是具体的步骤和说明。1. 安装前的准备在开始安装之前,请先确保你的系...
    99+
    2023-05-14
  • php怎么编译安装 mysql
    本文操作环境:linux5.9.8系统、PHP7.1版、DELL G3电脑php怎么编译安装 mysqlPHP编译安装mysql.so的扩展 进入php源码包安装路径pdo_mysql目录里面/usr/local/src/php/packa...
    99+
    2021-01-07
    php mysql
  • php gmp 怎么编译安装
    本教程操作环境:linux5.9.8系统、PHP8.1版、Dell G3电脑。php gmp 怎么编译安装?php编译,安装gmp扩展我在网上下了个php-5.2.17.tar.bz2然后借用下面方法 :bzip2 -d gcc-4.1....
    99+
    2022-11-08
  • Centos7怎么编译安装vim8
    这篇文章主要讲解了“Centos7怎么编译安装vim8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Centos7怎么编译安装vim8”吧!环境Centos7.7 Minimalvim-8....
    99+
    2023-06-05
  • centos6.8怎么编译安装php
    centos6.8编译安装php的方法:1、通过“yum -y install”命令安装依赖;2、拷贝配置文件;3、添加环境变量;4、执行“source /etc/profile”命令;5、添加自启动,然后重启php服务即可。本教程操作环境...
    99+
    2023-05-14
    php centos
  • ubuntu怎么安装g++编译器
    要在Ubuntu上安装g++编译器,可以按照以下步骤进行操作:1. 打开终端,可以通过按下Ctrl + Alt + T组合键来快速打...
    99+
    2023-09-21
    ubuntu
  • linux怎么安装gcc编译器
    要在Linux上安装GCC编译器,你可以按照以下步骤进行操作:1. 打开终端窗口。2. 使用以下命令安装GCC编译器及相关的开发工具...
    99+
    2023-09-21
    linux
  • eclipse怎么安装jad反编译
    要在Eclipse中安装JAD反编译工具,可以按照以下步骤进行操作:1. 下载JAD反编译工具的JAR文件。可以在网上搜索"down...
    99+
    2023-09-07
    eclipse jad
  • php5.6 php-fpm怎么编译安装
    本文操作环境:ubuntu16.04系统,php5.6.36版,Dell G3电脑。php5.6 php-fpm nginx安装和配置 今天发现有个网站是基于php版本的,然后上网收集资料后安装一遍试试。一、先安装php依赖包...
    99+
    2016-10-17
    php5.6-fpm
  • 源码编译怎么安装PostgresSQL
    这篇文章主要讲解了“源码编译怎么安装PostgresSQL”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“源码编译怎么安装PostgresSQL”吧!一、环境...
    99+
    2022-10-18
  • 源码编译怎么安装pg11.5
    这篇文章主要介绍“源码编译怎么安装pg11.5”,在日常操作中,相信很多人在源码编译怎么安装pg11.5问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”源码编译怎么安装pg11...
    99+
    2022-10-18
  • FreeBSD中怎么编译安装mysql5.5
    FreeBSD中怎么编译安装mysql5.5,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 如果您的系统没有安装cmake,首先,cma...
    99+
    2022-10-18
  • 怎么用CentOS7.0编译安装Mysql5.5.32
    这篇文章主要介绍“怎么用CentOS7.0编译安装Mysql5.5.32”,在日常操作中,相信很多人在怎么用CentOS7.0编译安装Mysql5.5.32问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作