点击上方“不太厉害的程序猿”,选择“置顶或者星标”
你关注的就是我关心的!
01 下载源码包我已经下载好了源码包,为大家已经准备了源码包,公众号回复"php"即可获得源码包,也可以自行去官网下载[官网地址:https://www.php.net/]
02解压源码包
这里我把源码包放在了/usr/usrfiles目录下,大家可以选择自己喜欢的路径
进入自己存放php源码包的目录开始解压,代码如下:
1 tar -zxvf packagename ##packagename为你的php源码包名字
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
1.添加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
这里的"--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.分布式、集群、微服务到底有啥区别?
点击在看,或者转发到朋友圈,都是对我最好的支持!