• linux_centos7_编译安装php7


    本文介绍的是在linux下centos7 安装php7版本介绍

    一、获取PHP

    首先,我们先下载php,我用的是php7.4.13版本,建议使用下载工具下载,这样比较快,或者用我准备好的也可以

    复制到浏览器打开 https://pan.baidu.com/s/1be5ZNPR1Pp_PNCSMyEf6UA     密码是:6y49

    下载完成后用ftp工具上传到 /root 目录下,(具体目录无要求,建议使用我的目录)

    或者使用如下下载方式

    先进入/root目录

    [root@VM-0-15-centos home]# cd ~

    使用wget下载

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

    无论哪种方式,下载好就行。然后解压,等待解压完成后进入php-7.4.13目录

    [root@VM-0-15-centos ~]# tar -zxvf php-7.4.13.tar.gz
    [root@VM-0-15-centos ~]# cd php-7.4.13

    二、安装php

    先安装php依赖,在开始编译安装

    在安装php依赖之前,建议使用 yum update 更新一下yum,这样保证依赖版本是接近最新的

    #更新yum
    [root@VM-0-15-centos php-7.4.13]# yum -y update
    #安装php扩展依赖
    [root@VM-0-15-centos php-7.4.13]# yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
    #编译PHP
    [root@VM-0-15-centos php-7.4.13]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-jpeg-dir --with-freetype-dir --enable-fpm

    这些参数做个简单介绍

    --prefix=安装路径

    --with-config-file-path=php.ini的位置

    其他的都是php的一些扩展

    编译的时候可能会出现如下错误

    1、错误:No package 'sqlite3' found  解决办法如下

    # yum安装sqlite-devel
    [root@VM-0-15-centos php-7.4.13]# yum install -y sqlite-devel
    # 安装完之后在重新编译PHP,如果还是出现这个错误,那么就是版本太低了,你没有执行上面更新yum的操作,先执行更新yum,在安装sqlite-devel

    2、错误:No package 'oniguruma' found  解决办法如下

    #返回root目录下载oniguruma安装包
    [root@VM-0-15-centos ~]# cd ~
    [root@VM-0-15-centos ~]# wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz 
    [root@VM-0-15-centos ~]# tar -xvf oniguruma-6.9.4.tar.gz
    [root@VM-0-15-centos ~]# cd oniguruma-6.9.4
    [root@VM-0-15-centos oniguruma-6.9.4]# ./autogen.sh
    [root@VM-0-15-centos oniguruma-6.9.4]# ./configure --prefix=/usr --libdir=/lib64
    [root@VM-0-15-centos oniguruma-6.9.4]# make && make install
    #编译安装完成后在重新执行编译php

    目前我在安装过程中发现就这两处错误,如果发现更多的错误,欢迎评论。

    解决完所有问题,在回到php-7.4.13目录下,重新编译php,一路顺利出现如下界面,那么恭喜你,php已经编译成功,接下来就该安装了

    执行如下命令并耐心等待,可以打把王者或者吃把鸡

    [root@VM-0-15-centos php-7.4.13]# make && make install.

     出现如下图这个界面,说明安装成功了

    你可以进入php的安装目录,查看一下php

    [root@VM-0-15-centos php-7.4.13]# cd /usr/local/php
    [root@VM-0-15-centos php]# ll

    给php新增全局变量

    #在文件最底部加入PHP的环境变量 export PATH=$PATH:/usr/local/php/bin    #$PATH:php安装路径/bin
    [root@VM-0-15-centos php]# vi /etc/profile
    
    #:wq 保存退出
    
    #重新加载一下环境变量文件  
    [root@VM-0-15-centos sbin]# source /etc/profile
    
    #可以看到版本信息了
    [root@VM-0-15-centos sbin]# php -v

    接下来就该配置一下php了

    三、配置php

    在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

    [root@VM-0-15-centos php]# cp /root/php-7.4.13/php.ini-production /usr/local/php/etc/php.ini

    复制启动脚本,并设置权限

    [root@VM-0-15-centos php]# cp /root/php-7.4.13/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    [root@VM-0-15-centos php]# chmod +x /etc/init.d/php-fpm

    修改php-fpm配置文件

    #复制一份配置文件并更名
    [root@VM-0-15-centos php]#
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    #用vi编辑器修改这个配置文件,把 ;pid = run/php-fpm.pid 改成 pid = run/php-fpm.pid (去掉;)
    [root@VM-0-15-centos php]# vi /usr/local/php/etc/php-fpm.conf

    #然后 :wq 保存并退出

    修改www.conf配置文件

    #复制一份配置文件并更名
    [root@VM-0-15-centos php]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

    启动php

    #启动
    [root@VM-0-15-centos php]# /etc/init.d/php-fpm start #停止
    [root@VM
    -0-15-centos php]# /etc/init.d/php-fpm stop #重启
    [root@VM
    -0-15-centos php]# /etc/init.d/php-fpm restart #重新加载
    [root@VM
    -0-15-centos php]# /etc/init.d/php-fpm reload
    #查看php-rpm进程
    [root@VM-0-15-centos php]# ps -aux | grep php-fpm

    如果有php-fpm进程,则说明启动成功

    设置开机自启动

    #编辑这个文件,在最后加入 /etc/init.d/php-fpm start
    [root@VM-0-15-centos php]# vi /etc/rc.local
    
    #:wq 保存退出
    
    #给这个文件增加权限
    [root@VM-0-15-centos php]# chmod +x /etc/rc.d/rc.local

    四、完成

    测试是否可以运行php文件

    #创建测试文件test.php,目录可以随意,但是要保证存在,不存在的话vi无法保存
    [root@VM-0-15-centos php]# vi /home/www/test.php
    
    #内容是
    <?php
    echo "hello world";
    
    :wq 保存退出
    
    #运行test.php
    [root@VM-0-15-centos php]# php /home/www/test.php

    输入如图

    撒花!庆祝!

  • 相关阅读:
    VS Code的常用备忘
    Echarts圆环,初始化时进度条效果
    nodejs 复制文件到 另一路径下 。可以在npm库看下mv 和 mvdir 有一点区别
    nginx启动报错(1113: No mapping for the Unicode character exists in the target multi-byte code page
    Echarts dataZome 横向移动动态显示数据
    flex布局时,会有兼容性问题,所以能少用flex布局的地方还是要避免下
    python 搭建 flask 和 orator框架开发
    直播 小测试
    对高并发的理解
    MySQL 中文分词原理
  • 原文地址:https://www.cnblogs.com/lzijiangg/p/14234385.html
Copyright © 2020-2023  润新知