本文介绍的是在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
输入如图
撒花!庆祝!