centos7中安装PHP7的步骤

CentOS7的默认PHP版本是PHP5,但是如果我们要安装PHP7,不需要将现有的PHP5删除,只要将PHP升级到PHP7即可。
使用 yum provides php 命令可以获取CentOS7的PHP包安装情况。显示的是在现有的安装源中能够安装的最新版本为:php-5.4.16-46.el7.x86_64

在安装PHP7之前,建议先升级更新一下CentOS7的安装包:
yum -y update :升级所有软件包的同时也升级软件和系统内核;
yum -y upgrade :只是升级所有软件包,但是不升级软件和系统内核。
我们这里使用第二条:yum -y upgrade 进行升级。
完成后,重启httpd: systemctl restart httpd.service :重启httpd。
使用: index.php + phpinfo() : 测试,没有php信息页面展示,说明还需要进行php配置。

使用: yum remove php-common -y :移除CentOS7 已安装的php-common,以便安装新的php-common。此步删除了CentOS原有的php5。

一、官网安装方法:

http://php.net/manual/zh/install.unix.nginx.php

二、编译安装

1.下载php7

wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.20.tar.gz/from/this/mirror

或者直接网页下载

http://php.net/get/php-7.1.20.tar.gz/from/a/mirror

2.解压php7

tar -xvf php7.tar.gz

3.进入php目录

cd /usr/local/src/php-7.1.20

4.安装依赖包

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

5.编译配置(如果出现错误,基本都是上一步的依赖文件没有安装所致)

./configure \

–prefix=/software/php \

–with-config-file-path=/etc \

–enable-fpm \

–with-fpm-user=www \

–with-fpm-group=www \

–enable-inline-optimization \

–disable-debug \

–disable-rpath \

–enable-shared \

–enable-soap \

–with-libxml-dir \

–with-xmlrpc \

–with-openssl \

–with-mcrypt \

–with-mhash \

–with-pcre-regex \

–with-sqlite3 \

–with-zlib \

–enable-bcmath \

–with-iconv \

–with-bz2 \

–enable-calendar \

–with-curl \

–with-cdb \

–enable-dom \

–enable-exif \

–enable-fileinfo \

–enable-filter \

–with-pcre-dir \

–enable-ftp \

–with-gd \

–with-openssl-dir \

–with-jpeg-dir \

–with-png-dir \

–with-zlib-dir \

–with-freetype-dir \

–enable-gd-native-ttf \

–enable-gd-jis-conv \

–with-gettext \

–with-gmp \

–with-mhash \

–enable-json \

–enable-mbstring \

–enable-mbregex \

–enable-mbregex-backtrack \

–with-libmbfl \

–with-onig \

–enable-pdo \

–with-mysqli=mysqlnd \

–with-pdo-mysql=mysqlnd \

–with-zlib-dir \

–with-pdo-sqlite \

–with-readline \

–enable-session \

–enable-shmop \

–enable-simplexml \

–enable-sockets \

–enable-sysvmsg \

–enable-sysvsem \

–enable-sysvshm \

–enable-wddx \

–with-libxml-dir \

–with-xsl \

–enable-zip \

–enable-mysqlnd-compression-support \

–with-pear \

–enable-opcache

报错解决

最实用的解决办法如下:

问题:

1:  wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

2:  tar zxf libmcrypt-2.5.7.tar.gz

3:  ./configure –prefix=/usr/local

4:  make && make install

问题:configure: error: Don't know how to define struct flock on this system, set –enable-opcache=no

解决:解决办法:

vim /etc/ld.so.conf.d/local.conf     # 编辑库文件

/usr/local/lib                       # 添加该行

ldconfig -v                          # 使之生效

注意事项:

这里添加的库文件路径一定要和你系统平台arch一致,32bit的系统直接添加/usr/local/lib即可,64bit系统要填加/usr/local/lib64.否则依旧会报错,我当时就是添加了/usr/local/lib死活编辑不了,后来更改为/usr/local/lib64才可以。

6.正式安装

make && make install

7.配置环境变量

vi /etc/profile

PATH=$PATH:/usr/local/php/bin

export PATH

source /etc/profile

8.配置php-fpm

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

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

cp sapi/fpm/init.d.php-fpm /usr/local/php/etc/php-fpm

chmod +x /usr/local/php/etc/php-fpm

ln /usr/local/php/etc/php.ini /etc/php.ini

9、创建www用户

useradd www

10、配置启动项参数

vim /usr/local/php/etc/php-fpm.d/www.conf

pm.max_children = 500

pm.start_servers = 105

pm.min_spare_servers = 10

pm.max_spare_servers = 200

11.启动php-fpm

/usr/local/php/etc/php-fpm start

设置 php-fpm开机启动

cp /usr/local/src/php-5.5.14/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限

chkconfig php-fpm on #设置开机启动

service php-fpm start

pkill php-fpm 强制关闭

原创文章,作者:XETTC,如若转载,请注明出处:https://www.wangzhanshi.com/n/6995.html

(0)
XETTC的头像XETTC
上一篇 2025年1月1日 16:38:02
下一篇 2025年1月1日 16:38:04

相关推荐

  • php7安装opcache的方法

    php有什么用 php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因…

    2025年1月1日
  • PHP WebSocket的技术解析与使用指南详解

    本文旨在帮助初学者掌握在PHP中使用WebSocket的关键概念和技术。我们将深入讨论从建立连接、绑定到监听等各方面的操作,并提供易于理解和实践的指导。 一、socket协议的简介…

    2024年12月17日
  • PHP7添加非空合并语法分析

    今天小编就为大家带来一篇PHP7添加非空合并语法分析的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。 我们知道从 PHP 5.3 起三元运算符有一个写法简…

    php 2025年1月1日
  • PHP实现识别复杂pdf文档的示例代码

    PHP识别复杂pdf文档 使用阿里云的pdf文档识别 阿里云视觉智能平台开通文字识别-PDF识别 /** * 使用AK&SK初始化账号Client * @param str…

    php 2024年12月17日
  • 基于PHP实现端口批量查询工具

    查询速度较慢,建议输入20个以内端口,暂未整理端口服务信息所以暂时不显示。 <?php error_reporting(0); //打开报错:去行首双斜杠 header(‘C…

    php 2024年12月17日
  • 如何解决php扩展安装不生效问题

    如何解决php扩展安装不生效问题?其实要解决这个问题也不难,这篇文章给出了相对应的分析和解答,下面我们一起来看看解决php扩展安装不生效问题的方法。 php安装扩展模块后,重启不生…

    php 2025年1月26日
  • ThinkPHP中泛域名部署的实现方法

    如何在ThinkPHP中实现泛域名部署站群 对于需要部署多个网站的开发者来说,站群架构是一种广泛采用的设计模式。而泛域名部署则是站群架构中比较常见的实现方式之一。在这篇文章中,我们…

    php 2024年12月17日
  • 怎么在Ubuntu16.04环境中安装PHP7

    由于在Ubuntu16.04上,默认的PHP版本就是7.x。由于我们要使用Apache2.4+PHP,所以安装如下模块即可直接解析PHP。 sudo apt-get&nb…

    php 2025年1月1日
  • PHP中使用三元条件运算符一些例子和场景

    前言 在PHP中,三元条件运算符(也称为三元运算符或条件运算符)是一种非常紧凑的写法,用于根据条件表达式的真假值来返回两个值中的一个。尽管你的请求要求5000字的内容,但实际上这个…

    php 2024年12月17日
  • GD库实现webp转换jpg的PHP程序

    PHP程序来执行webp格式转换成jpg格式有几种方法:一是安装imagemagick实现,二是安装GD库实现,可以直接用dwebp命令。本文我们将介绍使用PHP的图像处理库GD,…

    php 2024年12月17日

发表回复

登录后才能评论