零基础Centos8安装PHP7.4

2021年3月12日,

历经千辛万苦,多次快照回退,

数次打算放弃,解决无数报错,

终于啊,我也有PHP了,哈哈哈哈哈~

目录

一、重要的前提

二、PHP下载

三、查看当前PHP信息

四、安装PHP


 

如果还没有CentOS8虚拟机环境,请参看 零基础VMware 安装 Centos8(或Centos7) https://blog.csdn.net/have_a_cat/article/details/115180450

 

一、重要的前提

PHP 需要在root用户下安装

再重复三遍以示重要:PHP 需要在root用户下安装PHP 需要在root用户下安装PHP 需要在root用户下安装

二、PHP下载

官网下载速度比较慢,花费了我一早上的时间,大家可以从CSDN这里免费下载PHP7.4https://download.csdn.net/download/have_a_cat/15802184

(官网下载地址:https://www.php.net/downloads

(安装包地址: https://www.php.net/distributions/php-7.4.16.tar.gz

 

三、查看当前PHP信息

方法一:在命令行中执行

php -r 'phpinfo();'

方法二:在命令行中执行

php -i

 

可以看到,当前CentOS8自带PHP 7.2.,以及一些PHP的配置信息。

(如果只想用PHP7.2的小伙伴,看到此,就可以回去继续开发了)

回去的专机在此🚁

=================================================================================================================================================

下面我们来安装PHP7.4

四、安装PHP

1、准备好安装包

将下载好的php-7.4.16.tar.gz放置于CentOS虚拟机主目录下。

 

2、进入主目录并解压

ls

#查看主目录,将看到php-7.4.16.tar.gz安装包。
tar -zxvf php-7.4.16.tar.gz

#解压php-7.4.16.tar.gz

解压后主目录下就有了php-7.4.16文件夹

3、配置PHP

cd php-7.4.16

#进入php-7.4.16文件夹

 这里↘注意复制全了,这条命令非常长!

./configure --prefix=/usr/local/php --with-mysql-sock=/usr/local/mysql/mysql.sock --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo --enable-tokenizer --enable-zip --enable-fpm
#配置PHP
#这里注意复制全了,这条命令非常长。

报错解决(1)

执行命令./configure \...(命令省略)时报

configure: error: in `/root/php-7.4.16':

configure: error: no acceptable C compiler found in $PATH

解决:执行命令

yum install gcc -y

 

报错解决(2)

执行命令./configure \...(命令省略)时报

configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met:

Package 'libxml-2.0', required by 'virtual:world', not found

解决:执行命令

yum install libxml2-devel

报错解决(3)

执行命令./configure \...(命令省略)时报

configure: error: Package requirements (openssl >= 1.0.1) were not met:

Package 'openssl', required by 'virtual:world', not found

解决:执行命令

yum install openssl-devel

报错解决(4)

执行命令./configure \...(命令省略)时报

configure: error: Package requirements (sqlite3 > 3.7.4) were not met:

Package 'sqlite3', required by 'virtual:world', not found

解决:执行命令

yum install sqlite-devel

报错解决(5)

执行命令./configure \...(命令省略)时报

configure: error: Package requirements (libcurl >= 7.15.5) were not met:

Package 'libcurl', required by 'virtual:world', not found

解决:执行命令

yum install libcurl-devel

报错解决(6)

执行命令./configure \...(命令省略)时报

configure: error: Package requirements (oniguruma) were not met:

Package 'oniguruma', required by 'virtual:world', not found

解决:需安装安装 oniguruma 和 oniguruma-devel

(1)下载

wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz

(2)解压

tar -zxvf oniguruma-6.9.4.tar.gz

cd oniguruma-6.9.4/

(3)安装autoreconf

yum install autoconf automake libtool

(4)配置与安装

./autogen.sh && ./configure --prefix=/usr

make && make install

 

至此configure成功!🎉

4、编译和安装

make
# 编译
make install

#编译并且安装

5、拷贝配置文件php.ini

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

#把 php.ini-development拷贝到/usr/local/php/lib/php.ini文件目录里面

6、修改php.ini

打开/usr/local/php/lib/php.ini文件,修改以下内容

mysqli.default_socket = /usr/local/mysql/mysql.sock

date.timezone = Asia/Shanghai

 

7、验证安装的模块

/usr/local/php/bin/php -m

8、拷贝PHP扩展包,使全局可用

(1)拷贝ext文件,由/root/php-7.4.16到/usr/local/php

cp -r /root/php-7.4.16/ext  /usr/local/php/

(2)修改php.ini文件中扩展地址为:/usr/local/php/ext

9、将PHP加入环境变量

(1)打开/etc/profile文件

(2)在文件末尾加上如下两行

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

export PATH

(3)在终端执行

source /etc/profile #使profile文件中的修改生效

(export PATH=$PATH:/usr/local/php/bin #上述没生效的话,备用办法为每次打开终端执行这条命令)

(4)检查PATH是否添加成功

echo $PATH

(5)切换默认版本

rm -f /usr/bin/php

ln -sf usr/local/php/bin/php /usr/bin/php

(6)重启服务器/虚拟机

10、验证版本号

(1)开启新终端

(2)停止PHP服务

pkill php-fpm

(3)开启php-fpm服务

service php-fpm start

(4)查看PHP安装情况

rpm -qa|grep -i php

(5)查看PHP进程

ps -ef |grep php

(6)查看PHP版本号

php -v

报错解决(7)

执行命令service php-fpm start时报

Unit php-fpm.service not found

  

解决:依次执行以下命令

find / -name init.d.php-fpm
cp /root/php-7.4.16/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod a+x /etc/init.d/php-fpm

报错解决(8)

执行命令service php-fpm start时报

ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'

解决:依次执行以下命令

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

报错解决(9)

执行命令service php-fpm start时报

WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/*.conf' from /usr/local/php/etc/php-fpm.conf at line 143.

[15-Mar-2021 16:24:56] ERROR: No pool defined. at least one pool section must be specified in config file

[15-Mar-2021 16:24:56] ERROR: failed to post process the configuration

[15-Mar-2021 16:24:56] ERROR: FPM initialization failed

解决:依次执行以下命令

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
/usr/local/php/sbin/php-fpm -t

报错解决(10)

虚拟机中有多个版本的PHP默认PHP不是想要的

(比如图中,直接”php -v”查到版本是7.2.24;用安装路径“/usr/local/php/bin/php -v”版本是7.4.16)

不用质疑,安装正确是你没切换版本。依次执行以下命令

rm -f /usr/bin/php
ln -sf usr/local/php/bin/php /usr/bin/php

报错解决(11)

$PATH 在/etc/profile中设置后不生效

解决:可能是权限不够,给/etc目录赋权限后重新加载

chmod a+x /etc
source /etc/profile

 

 

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值