0

0

php5.6.31如何编译安装

藏色散人

藏色散人

发布时间:2022-01-21 10:42:48

|

2258人浏览过

|

来源于php中文网

原创

php5.6.31编译安装的方法:1、添加epel源;2、安装依赖;3、下载并解压php5.6.31;4、修改php-fpm.conf;5、启动php-fpm即可。

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

1、为php提供配置文件

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

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

2、为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

3、启动php-fpm

网奇IOS智能在线订单系统
网奇IOS智能在线订单系统

产品简介: 网奇IOS智能订单系统,是网奇公司研发的一款智能在线订单编辑以及管理系统。本系统适合使用在;在线报名、酒店预定、信息反馈、在线订单和在线投诉等等诸多应用上。本系统所有选项字段完全通过后台控制,在线报名系统可以变为在线预定系统,同时可以变为任何其它的系统,里面的栏目字段,可以任意添加、删除、 修改。本系统为网奇公司全国独家首创,顺应网络需求,安装十分便利,上传即可使用。产品特色:

下载

执行

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

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

ps aux | grep php-fpm

结果如下图:

3、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

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

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

Nginx和php已经配置完成了。

4、安装过程出错原因

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

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

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

推荐学习:《PHP视频教程

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号