发布于:2020-07-07 16:15:40   阅读数:307   分类:

登录可复制代码

说到PHP很多人对服务器配置方面可能还是很懵逼,今天我就给大家讲解一下如何使用Linux编译安装PHP

首先打开www.php.net选择你要安装的版本

这里我就以php-7.2.28为例子#安装扩展里面有不需要的但是不必去关心这个

$ yum install cmake gcc gcc-c++ libcurl libcurl-devel ncurses-devel bison zlib libxml libxml2-devel automake autoconf make libtool bison-devel libaio-devel openssl openssl-devel

#下载php版本

$ cd /usr/local/src

wget https://www.php.net/distributions/php-7.2.28.tar.gz

#解压

$ tar -zxvf php-7.2.28.tar.gz

$ cd php-7.2.28

#配置安装

#如果安装apache需要引入apache apxs使用 --with-apxs2=/usr/local/apache/bin/apxs 不是apache移除这一行即可,配置安装根据自己需要的去添加,这里就安装一些个人认为常用的

$ ./configure --prefix=/usr/local/php --enable-fpm \

--with-apxs2=/usr/local/apache/bin/apxs --enable-mysqlnd \

--with-mysqli --with-pdo-mysql --enable-mysqlnd \

--with-iconv-dir --with-jpeg-dir --with-png-dir \

--enable-xml  --enable-session \

--with-config-file-path=/usr/local/php/etc \

--with-curl --with-openssl --enable-mbstring \

--enable-ftp --with-gd --with-mhash \

--enable-pcntl --enable-sockets --enable-zip --enable-soap \

--enable-opcache --with-pear

#如果要安装多版本可以设置路劲为 prefix=/usr/local/php72 这个看你个人选择

--prefix=/usr/local/php7 # 配置安装目录

--with-config-file-path=/usr/local/php/etc # 配置文件 php.ini 的路径

--with-apxs2=/usr/local/apache/bin/apxs  # 配置apache解析php

--enable-sockets # 开启 socket

--enable-fpm # 启用 fpm 扩展

--enable-cli # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)

--enable-mbstring # 启用 mbstring 库

--enable-pcntl # 启用 pcntl (仅 CLI / CGI)

--enable-soap # 启用 soap

--enable-opcache # 开启 opcache 缓存

--disable-fileinfo # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)

--disable-rpath  #禁用在搜索路径中传递其他运行库。

--with-mysqli # 启用 mysqli 扩展

--with-pdo-mysql # 启用 pdo 扩展

--with-iconv-dir # 启用 XMLRPC-EPI 字符编码转换 扩展

--with-openssl # 启用 openssl 扩展 (需要 openssl openssl-devel)

--with-fpm-user=www #设定 fpm 所属的用户

--with-fpm-group=www #设定 fpm 所属的组别

--with-curl # 启用 curl 扩展

--with-mhash # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库

# GD

--with-gd # 启用 GD 图片操作 扩展

--with-jpeg-dir # 开启对 jpeg 图片的支持 (需要 libjpeg)

--with-png-dir # 开启对 png 图片支持 (需要 libpng)

--with-freetype-dir # 开启 freetype

# 压缩

--enable-zip # 启用 zip

--with-zlib # 启用对 zlib 支持

# xml

--enable-simplexml # 启用对 simplexml 支持

--with-libxml-dir # 启用对 libxml2 支持

一些不常用的选项

--enable-debug 开启 debug 模式

1.configure: error: xml2-config not found. Please check your libxml2 installation.

$ yum install libxml2 libxml2-devel

2.configure: error: Cannot find OpenSSL's$ yum install openssl openssl-devel

3.configure: error: Please reinstall the BZip2 distribution

$ yum install bzip2 bzip2-devel

4.configure: error: Please reinstall the libcurl distribution - easy.h should be in/include/curl/

$ yum install libcurl libcurl-devel

5.If configure fails try --with-webp-dir=...configure: error: jpeglib.h not found.

$ yum install libjpeg libjpeg-devel

6.If configure fails try --with-webp-dir=... checking for jpeg_read_header in -ljpeg... yes configure: error: png.h not found.

$ yum install libpng libpng-devel

7.If configure fails try --with-webp-dir=... checking for jpeg_read_header in -ljpeg... yes checking for png_write_image in -lpng... yes If configure fails try --with-xpm-dir=... configure: error: freetype-config not found.

$ yum install freetype freetype-devel

8.configure: error: Unable to locate gmp.h

$ yum install gmp gmp-devel

9.configure: error: mcrypt.h not found. Please reinstall libmcrypt.

$ yum install libmcrypt libmcrypt-devel

10.configure: error: Please reinstall readline - I cannot find readline.h

$ yum install readline readline-devel

11.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

$ yum install libxslt libxslt-devel

#如果报错通过以上方式解决,如果没有提到缺少什么就安装什么即可,然后如果没有错误提示进行下一步

#编译安装

make && make install

#安装完成配置php-fpm启动

启动php-fpm可能会遇到的错误,基本都是配置文件配置和重命名的问题:

错误一:缺少www.conf配置文件(WARNING: Nothing  matches the include pattern /usr/local/php/etc/php-fpm.d/*.conf),需要把/usr/local/php/etc/php-fpm.d/*.conf目录中的www.conf.default重命名为www.conf。

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

错误二:缺少php-fpm.conf配置文件 需要在/usr/local/php/etc/php-fpm.conf 把默认的配置文件php-fpm.conf.default改成php-fpm.conf

$ mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

错误三:缺少php.ini配置文件 php7编译安装好后会发现没有php.ini配置文件,需要在解压包的根目录中复制php.ini-production或php.ini-development并重命名为php.ini到php编译好的安装目录中的/usr/local/php/etc文件夹即可。

$ find / -name "*php.ini*"

#find结果

/usr/local/src/php-7.2.28/php.ini-production

/usr/local/src/php-7.2.28/php.ini-development

$ cp /usr/local/src/php-7.2.28/php.ini-production /usr/local/php/lib/php.ini

#环境变量

In -s /usr/local/php/bin/php /usr/bin/php

#如果上面命令报没有找到 In命令

$ cp /usr/local/php/bin/php /usr/bin/php

#或者使用

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

echo $PATH

#启动php-fpm

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

#停止php-fom

$ killall php-fpm

如果还有其他安装问题可以在文章下方给我留言我将会回复你。

linux安装最新php版本下载地址,服务器配置-使用Linux编译安装PHP指定版本相关推荐

  1. linux系统玩ps3模拟器下载地址,rpcs3模拟器PS3游戏安装教程

    rpcs3是目前唯一一款可靠性较高的开源PS3模拟器,遵守GPL2.0开源协议,语言:C++ 作者是来自jpcsp的开发者.PS3模拟器RPCS3(GitHub页面点此前往)在经过制作者的数度改进后, ...

  2. 【转载】AutoCAD:ObjectARX版本下载地址

    声明:本文为转载,非原创,如有侵权,请告知,本人会尽快删除. 原文地址:http://www.cnblogs.com/yipu/archive/2013/04/02/2995855.html Auto ...

  3. matlab R2010a windows和linux版本下载地址

    matlab R2010a windows和linux版本下载地址: win:ed2k://|file|[%E7%9F%A9%E9%98%B5%E5%AE%9E%E9%AA%8C%E5%AE%A4]. ...

  4. qt5.13.2版本安装+qt官网下载地址

    qt官网各个版本下载地址:http://download.qt.io/official_releases/qt/ qt与vs进行转化小工具qt-vsaddin-下载链接:https://downloa ...

  5. JRE和JDK 1.3、1.4、1.5(5.0)、6.0 各版本下载地址大全(J2SDK,JavaSE JavaEE)

    本文转载(http://hi.baidu.com/y66901356/blog/item/7d32bf0abf7d7c3ab0351d39.html) 本人绝对支持原创!!! Java SE Deve ...

  6. 从网上找的 visual studio 的各个版本下载地址,vs2010/vs2012/vs2013带注册码

    从网上找的 visual studio 的各个版本下载地址,很全,从 6.0 一直 到 vs2013,要的拿去吧... Microsoft Visual Studio 6.0 下载: 英文版360云盘 ...

  7. Java 17.0.2 LTS 生产环境免费使用版本下载地址

    Java 17 LTS 是 Java SE 平台的最新长期支持版本.根据Oracle 免费条款和条件许可,JDK 17 二进制文件可在生产环境中免费使用,并可免费重新分发.自Java 8u202版本后 ...

  8. Visual Studio 2015 update 3各版本下载地址

    Visual Studio 2015 update 3各版本下载地址 标签: VS2015update 3 2016-11-28 14:32 2899人阅读 评论(0) 收藏 举报  分类: othe ...

  9. consul历史版本下载地址

    consul最新版本下载地址 https://www.consul.io/downloads.html consul历史版本下载地址 https://releases.hashicorp.com/co ...

  10. gradle各版本下载地址

    gradle各版本下载地址 原创 2016年08月16日 11:17:25 标签: gradle更新 / android studio 59713 gradle各版本下载地址:http://servi ...

最新文章

  1. linux 内核 vfs_readdir函数的filldir_t参数简介
  2. SQL 主键 自动编号 主键自增
  3. Matlab | 数字信号处理:离散时间信号时域表示
  4. EGLSurfaces 和 OpenGL ES
  5. Spark2.4.0 SparkEnv 源码分析
  6. rocketmq存储结构_RocketMQ消息存储
  7. introduce of servlet and filter
  8. 读书笔记系列--《理解专业程序员》tips
  9. pm2 start 带参数_pm2 start命令进阶详解
  10. 期望收益率、方差、协方差、相关系数的计算公式
  11. python设置代理_python使用代理proxy
  12. BasesHomo 21‘ 旷视UESTC
  13. uni-app 项目怎么运行到手机
  14. JMeter递增加压
  15. matlab/simulink中自定义m-s函数作为simulink模块使用实例
  16. 互联网电视:OTT TV与IPTV的区别
  17. Ubuntu系统腾讯会议使用ffmpeg屏幕录制+声音录制
  18. 记一次cnpm install的各种报错深刻记忆
  19. SpringSecurity 安全框架
  20. maven 配置多个仓库

热门文章

  1. HDU1829 A Bug's Life 并查集
  2. 【python】多进程小结
  3. 从零基础入门Tensorflow2.0 ----二、5.3 实战sklearn超参数搜索
  4. 排序算法3:最常用的排序——快速排序
  5. 双边滤波及其matlab代码
  6. arcpy 验证中心点是否位于图层之内
  7. JavaEE学习12--JDBC(上)
  8. Android 代码中的常见的问题总结
  9. ios md5 原理_iOS实现MD5加密
  10. redhat最小化安装是多少包_Linux的最小化安装