Centos7.2 编译安装PHP7.0.2的步骤

发布时间 - 2026-01-11 01:59:02    点击率:

环境

  1. 系统:Centos7.2 
  2. 服务:Nginx

1:下载PHP7.0.2的安装包解压,编译,安装:

  $ cd /usr/src/
  $ wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
  $ tar -xzxvf php-7.0.2.tar.gz
  $ cd php-7.0.2

1.1编译前检查

请检查是否安装了gcc ,没有的话执行yum install gcc

检查是否安装了libxml2 ,没有的话执行yum install libxml2

检查是否安装了libxml2-devel,没有的话执行yum install libxml2-devel

注:因为改为用nginx了,所以编译参数中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安装PHP前,请先安装apache。*

2:编译参数配置

复制代码 代码如下:
'./configure' '--prefix=/usr/local/php' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring' '--with-libxml-dir=/usr' '--enable-soap' '--enable-calendar' '--with-curl' '--with-mcrypt' '--with-gd' '--with-pgsql' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-zlib' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-pcntl' '--enable-mbregex' '--enable-exif' '--enable-bcmath' '--with-mhash' '--enable-zip' '--with-pcre-regex' '--with-pdo-mysql' '--with-mysqli' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-openssl' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--with-libdir=/lib/x86_64-linux-gnu/' '--enable-ftp' '--with-gettext' '--with-xmlrpc' '--with-xsl' '--enable-opcache' '--enable-fpm' '--with-iconv' '--with-xpm-dir=/usr'

3:错误集合

报错 Cannot find OpenSSL's <evp.h>
 执行 yum install openssl openssl-devel

报错 Please reinstall the libcurl distribution
 执行 yum -y install curl-devel

错误 jpeglib.h not found
 执行 yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
 和执行 yum install libjpeg-devel

错误:checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution 这是bzip2软件包没有安装
 执行 yum install bzip2-devel.x86_64 -y

错误:configure: error: xpm.h not found.
 执行 yum install libXpm-devel

错误: Unable to locate gmp.h
 执行 yum install gmp-devel

错误:Unable to detect ICU prefix or /usr//bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works
 执行 yum install -y icu libicu libicu-devel

错误:mcrypt.h not found. Please reinstall libmcrypt.
 执行 yum install php-mcrypt libmcrypt libmcrypt-devel

错误: configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
 执行 yum install postgresql-devel

错误: configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
 执行 yum install libxslt-devel

4:编译

make clean && make && make install

5:PHP配置

5.1安装完成后,我们要把源码包中的配置文件复制到PHP安装目录下,源码包中有两个配置 php.ini-development php.ini-production ,看名字就知道,一个是开发环境,一个是生产环境,我们这里就复制开发环境的

cp php.ini-development /usr/local/php/lib/php.ini

5.2另外还需要设置环境变量 :修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

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

5.3 然后执行生效命令

source /etc/profile

5.4查看PHP版本信息

php -v

6:配置PHP-fpm

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 /usr/src/php-7.0.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

6.1 启动php-fpm:

/etc/init.d/php-fpm start

6.2 如果出现错误:ERROR: [pool www] cannot get uid for user 'www-data'

则新建www-data 用户组:

groupadd www-data
useradd -g www-data www-data

6.3 重启php-fpm

/etc/init.d/php-fpm restart

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Centos7.2  # 编译安装PHP7  # php7  # 编译安装  # centos 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用搬瓦工VPS快速搭建个人网站?  javascript中闭包概念与用法深入理解  php485函数参数是什么意思_php485各参数详细说明【介绍】  phpredis提高消息队列的实时性方法(推荐)  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  手机网站制作与建设方案,手机网站如何建设?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何在IIS中新建站点并解决端口绑定冲突?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  太平洋网站制作公司,网络用语太平洋是什么意思?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  香港网站服务器数量如何影响SEO优化效果?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何用花生壳三步快速搭建专属网站?  Python函数文档自动校验_规范解析【教程】  Laravel模型事件有哪些_Laravel Model Event生命周期详解  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  活动邀请函制作网站有哪些,活动邀请函文案?  Windows Hello人脸识别突然无法使用  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  微信小程序 input输入框控件详解及实例(多种示例)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  零服务器AI建站解决方案:快速部署与云端平台低成本实践  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  大同网页,大同瑞慈医院官网?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何在IIS管理器中快速创建并配置网站?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  linux写shell需要注意的问题(必看)  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何升级到最新版本?(升级指南和步骤)  香港服务器如何优化才能显著提升网站加载速度?  lovemo网页版地址 lovemo官网手机登录  微信小程序 配置文件详细介绍  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面