php如何让设置添加用户已存在_Centos7安装配置PHP,你真的会了吗?

本文档详细介绍了如何在CentOS7上手动编译安装PHP7.4.8,包括下载源码、解压、安装依赖、配置编译选项、解决编译错误、编译安装、设置环境变量、启动PHP-FPM以及将其设置为系统服务。此外,还提供了在启动PHP-FPM过程中可能遇到的配置错误及其解决方案。
摘要由CSDN通过智能技术生成

点击上方“不太厉害的程序猿”,选择“置顶或者星标”

你关注的就是我关心的!

4d20ed94605734a78502a16b657489b8.png

01 下载源码包

我已经下载好了源码包,为大家已经准备了源码包,公众号回复"php"即可获得源码包,也可以自行去官网下载[官网地址:https://www.php.net/]

5de2e18f44976e4a84f3a91d33f395bc.png

02

解压源码包

这里我把源码包放在了/usr/usrfiles目录下,大家可以选择自己喜欢的路径

20710aea243fc9f973e2ed3d694fc0df.png

进入自己存放php源码包的目录开始解压,代码如下:

1 tar -zxvf packagename  ##packagename为你的php源码包名字

17c05ba9dbc281af861f92fc3e205d64.gif

03 安装依赖环境

安装php运行所需要依赖的环境,代码如下(复制粘贴就行,需要一行一行执行):

1 yum install -y libxml2*2 yum install -y openssl*3 yum install -y libcurl*4 yum install -y libjpeg*5 yum install -y libpng*6 yum install -y freetype*7 yum install -y libmcrypt*
04 指定安装目录和模块

以下代码在已经解压好的目录里执行,我解压的目录为/usr/usrfiles/php-7.4.8

979cea1328a6320ece4c1d95bda310fc.png1.添加php的用户组及用户

代码如下:

1cat /etc/group | grep www  ###检查用户组是否存在,不存在则添加23cat /etc/passwd | grep www   ###检查用户是否存在,不存在则添加45groupadd www     ###添加用户组67useradd -g www www   ###添加用户

2.安装php

代码如下:

 ./configure --prefix=/usr/usrsevice/php7.4.8 --with-config-file-path=/usr/usrsevice/php7.4.8/etc --enable-inline-optimization --disable-debug --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-rpath --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl  --with-mhash --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-mbstring --with-onig --enable-shared --enable-opcache --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --with-iconv --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets  --enable-zip --enable-wddx --with-pear

015975393a6b28bf38360ae0b596fd8b.png

这里的"--perfix=" 后面的要换成自己想要的安装目录,"--with-config-file-path=" 也要换成自己的安装目录,我这里在/usr/usrsevice目录下新建了php-7.4.8文件夹作为php安装目录,剩下的代码是开启或关闭php支持的功能

05 安装PHP遇到的报错问题

1.报错信息:CONFIGURE: ERROR: PACKAGE REQUIREMENTS (SQLITE3 > 3.7.4) WERE NOT MET: NO PACKAGE ‘SQLITE3’ FOUND**
解决办法,代码如下(缺少splite环境支持)

1 yum install sqlite-devel

2.报错信息:PHP 编译错误 Package requirements (oniguruma) were not met**

解决办法,代码如下(缺少oniguruma环境支持)

1sudo yum install oniguruma-devel

3.报错cc: internal compiler error: Killed (program cc1)
原因:内存不足,解决方法:可以设置临时设置交换分区,代码如下:

1sudo dd if=/dev/zero of=/swapfile bs=64M count=162sudo mkswap /swapfile3sudo swapon /swapfile

编译完成,可以取消交换分区,代码如下:

1sudo swapoff /swapfile2sudo rm /swapfile
06 进行编译安装

进行编译,测试,安装.代码如下:

1make  ##编译源码23make test  ##测试编译是否成功45make install   ##安装
07 PHP安装完成后设置环境变量

打开/etc/profile文件,新增以下内容:

1export PATH="/usr/usrsevice/php7.4/bin":$PATH

##PATH后面为你自己安装的php路径

08 通过PHP-FPM启动PHP

启动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。

错误二缺少php-fpm.conf配置文件 

解决方案如下:

需要在/usr/local/php/etc/php-fpm.conf 把默认的配置文件php-fpm.conf.default改成php-fpm.conf

错误三缺少php.ini配置文件 

解决方案如下:

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

09 PHP设置为系统服务

第九步的时候,我们已经可以通过./php-fpm命令成功启动php了,但为了我们管理方便我们可以把php加入系统服务并设置开机自启,1.进入/usr/lib/systemd/system目录中

2.新增php系统服务文件 vim php.service

php.service文件内容如下:

 1 [Unit] 2 Description=php 3 After=network.target remote-fs.target nss-lookup.target 4 5 [Service] 6 Type=forking 7 ExecStart=/usr/local/php/sbin/php-fpm ##这里为自己的安装目录 8 9 [Install]10 WantedBy=multi-user.target

3.设置为系统服务后我们就可以通过相关命令启动nginx等等,代码如下

1 systemctl    status    php  ##查看php状态23 systemctl    start      php  ##启动php45 systemctl    enable     php  ##设置php为开机自启67 systemctl    disable   php  ##关闭php开机自启

推荐阅读:

   1.Centos7安装配置NGINX

   2.Centos下安装Mysql数据库

   3.解决VM 与 Device/Credential Guard 不兼容(全网最新解决思路)

   4.分布式、集群、微服务到底有啥区别?

46a24e324a4b2b0871783eef2e1e6068.png 点击在看,或者转发到朋友圈,都是对我最好的支持!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值