文章目录

  • yum方式安装
    • 1.查看是否有PHP的可安装的软件包
    • 2. 安装
    • 3. 添加模块
  • 源码编译安装
    • 1.下载源码包
    • 2.解压
    • 3. 安装依赖包
    • 4. 编译配置
    • 5. 编译安装
    • 6. 环境变量配置
    • 7. 验证安装
  • PHP7安装mysql扩展
  • 编译配置参数
  • 相关介绍
    • 1.EPEL
    • 2.php-fpm
  • 下载链接

可以有两种安装方式, yum安装和源码安装, 当然也可以使用RPM安装。 这里仅介绍前两种。

yum方式安装

1.查看是否有PHP的可安装的软件包

方式是通过yum search命令,以
PHP5.4和PHP7.0为例,可以使用下面的命令:

yum search php54
yum search php70

如果已经安装,这一步下面的部分可以略去。
如果没有安装,可以通过epel源和remi源加入软件源
epel源:

rpm -Uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm

remi源:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装yum-config-manager:

yum -y install yum-utils

更新系统当前软件版本

yum -y update

2. 安装

PHP5.4 安装命令:

yum -y install php

PHP7.0 安装命令:

yum-config-manager --enable remi-php70
yum -y install php php-opcache

PHP7.1 安装命令:

yum-config-manager --enable remi-php71
yum -y install php php-opcache

3. 添加模块

模块可以根据需要添加, 比如:

yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl

以上包括了mysql、xml和mbstring等模块

源码编译安装

1.下载源码包

PHP官方下载地址是:https://www.php.net/downloads.php
下载的时候发现美国的镜像比国内的还快,linux下载可以使用:

wget http://cn2.php.net/distributions/php-7.2.16.tar.gz

也可以通过本文最后部分的链接下载。

2.解压

  tar -zxvf  php-7.2.16.tar.gz

3. 安装依赖包

yum install -y 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

可以根据需要安装。

4. 编译配置

切换到解压后的目录:

 cd php-7.2.16

执行下面的命名进行配置:

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-libxml-dir \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--enable-fpm \
--enable-mysqlnd \
--enable-embedded-mysqli

注意,如果机器已经安装了 Apache服务器,比如安装位置在/usr/local/apache, 则可以通过with-apxs2选项指定apache。这样的话,PHP 编译安装的时候就会自动产生libphp7.so的动态链接文件, 并将其放入apache的moudles目录并自动修改 apache的配置文件。
所以,如果是要安装Apache+PHP的话, 建议是先安装Apache。

如果不需要apache, 将上面的with-apxs2一行去掉即可。

5. 编译安装

make && make install

6. 环境变量配置

使用vi修改/etc/profile文件

vi  /etc/profile

加入以下一行:

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

让配置生效:

source /etc/profile

7. 验证安装

php -version

PHP7安装mysql扩展

PHP7已经弃用mysql扩展改为mysqli或者pdo_mysql。所以如果想兼容php5的mysql的相关数据库方法的话,就需要另行安装了。
一般不建议这样,但是想使用一些知名的CMS时,其是基于PHP5的, 会需要安装。
下载扩展源码包:
下载地址: http://git.php.net/?p=pecl/database/mysql.git;a=summary
下载后解压:

tar xzvf mysql-230a828.tar.gz
cd mysql-230a828/

使用phpize初始化和mysql扩展 ,这里php的安装目录是/user/local/php

/user/local/php/bin/phpsize
./configure --with-php-config=/user/local/php/bin/php-config --with-mysql=mysqlnd

编译安装:

make && make install

直接编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so

重启php-fpm
service php7.1-fpm restart

编译配置参数

编译的配置参数比较多,下面列出多的和少的供参考

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--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
./configure --prefix=/usr/local/server/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/server/php \
--with-pdo-mysql

相关介绍

1.EPEL

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。
首先需要安装一个叫”epel-release”的软件包,这个软件包会自动配置yum的软件仓库。

2.php-fpm

PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器
PHP5.3.3已经集成php-fpm了,不再是第三方的包。
PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置
在./configure的时候带 –enable-fpm参数即可开启PHP-FPM

下载链接

linux php-7.2.16.tar.gz
https://download.csdn.net/download/oscar999/11058910

PHP Linux安装相关推荐

  1. 实用的Linux 安装 zip unzip

    Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...

  2. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  3. Linux安装Nodejs

    Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...

  4. linux命令安装组件,Linux安装各种组件

    [TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...

  5. arch linux安装_如何从头开始安装Arch Linux

    arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...

  6. linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  7. linux 查看es安装目录,Linux安装Elasticsearch

    本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...

  8. Linux安装CentOS7(图文详解)

    Linux安装centos7 准备 软件:VMware workstation 镜像文件:CentOS-7-x86_64-Minimal-1810.iso 一.安装centos7 1.点击创建新的虚拟 ...

  9. Linux安装CentOS6(图文详解)新手入门

    Linux安装centos6 准备 软件:VMware workstation 镜像文件:CentOS-6.8-x86_64-bin-DVD1.iso 一.安装centos6 1.点击创建新的虚拟机 ...

  10. linux安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

最新文章

  1. C语言入门练习 - 第三期 数组(题解)
  2. 性能提升19倍,DGL重大更新支持亿级规模图神经网络训练
  3. 从指纹到眼球识别:漫谈手机安全方案
  4. Java带有运算符的字符串转换为Long型
  5. 谷歌zxing 二维码生成工具
  6. leetcode 最后一个单词的长度
  7. 【STM32】PWM程序
  8. 图深度学习前沿工作汇总与解析
  9. red6.4 mysql_rhel6.4 yum本地yum源配置
  10. 【Level 08】U06 Good Feeling L1 End-of-season game
  11. RabbitMQ消息订阅与轮询
  12. 【零基础学Java】—重写(二十)
  13. 卷积神经网络CNN总结(转)
  14. 安信可——PB-03F烧录
  15. 向深海微生物学习,提高太阳能转换效率
  16. 阿里图片合成接口拼接
  17. C#实现简单气泡屏保(一)
  18. oracle发生20001,Oracle IMP数据时报20001错误
  19. Windows编程 第四回 Windows程序的生与死(下)
  20. DSP RS232 RS485通信

热门文章

  1. UITableView 自带编辑删除 自己定义button
  2. 【持久化框架】Mybatis与Hibernate的详细对比
  3. SQL Server 2005 无法连接到服务器,error:26
  4. C/C++ 存储类型 作用域 连接类型
  5. 【Vegas原创】CPIO操作
  6. 前端跨域,nginx反向代理的解决方案
  7. springboot运行在eclipse报异常的问题
  8. 电商知识图谱的构建及搜索推荐场景下的应用实践
  9. 【报告分享】2021中国人才趋势报告.pdf(附下载链接)
  10. 算法工程师面试备战笔记2_一个完整机器学习项目的流程