# 前言
记录 php7.4 安装过程,以及踩坑
# 参考文章
- https://blog.csdn.net/weixin_29599245/article/details/115125747
# 安装过程
# 下载解压源码包
根据个人需要下载版本
wget https://www.php.net/distributions/php-7.4.33.tar.gz | |
tar -xzvf php-7.4.33.tar.gz |
# 安装所需环境
php 时安装需要一些工具包、拓展等
下面列出了一些可能用到的
安装成功后 默认路径在 /usr/include
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 |
也可以安装通过源码包手动安装
指定安装路径
比如安装 freetype-2.10.1
#下载 解压 freetype-2.10.1 | |
cd freetype-2.10.1 | |
./configure --prefix=/usr/local/freetype | |
make && make install |
# php 安装位置配置以及启用拓展
--prefix=/usr/local/php 指定我的 php 安装配置
根据个人情况修改自己的安装路径
根据需要,启用拓展,有些开启就行,有些拓展需要指定安装路径
注:启用 gd 拓展,需要开启 freetype 等,不然图片验证码不可用
#进入安装路径 | |
cd php-7.4.33 | |
#配置启用拓展 | |
./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-mysqli --with-pdo-mysql --enable-gd --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-openssl --enable-mbstring --enable-fpm --enable-bcmath --enable-pcntl --with-zip --with-freetype --with-jpeg --with-curl=/usr/include --with-zlib-dir=/usr/include | |
#编译并安装 | |
make && make install |
踩坑
gd 拓展
--enable-gd
--with-freetype
--with-jpeg
关于 zip
php7.4 开始 捆绑的 libzip 已被移除,编译时使用 --with-zip
之前的 php 版本可用 --enable-zip 开启 zip
# 配置 PHP 使用
- 拷贝配置文件
#拷贝 php 配置文件 | |
cp php.ini-production /usr/local/php/etc/php.ini | |
#拷贝 php-fpm 服务并赋予执行权限 | |
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm | |
chmod +x /etc/init.d/php-fpm | |
# 拷贝 php-fpm 进程服务的配置文件和扩展配置文件 | |
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf | |
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf |
- 配置环境变量
# 配置安装目录 (可选) | |
vi /usr/local/php/etc/php-fpm.conf | |
# php-fpm.conf 最后一行,include 的路径要对应于自己的安装目录 shift + g 跳最后一行 ,gg 第一行 | |
include=/usr/local/php/etc/php-fpm.d/*.conf | |
# 设置 php 环境变量 | |
vi /etc/profile.d/php.sh | |
export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/ | |
# 生效环境变量 | |
source /etc/profile.d/php.sh | |
# 测试成功 | |
php -v |
- 启动 php-fpm
#启动 php-fpm | |
service php-fpm start | |
# 设置 php-fpm 开机启动 | |
chkconfig php-fpm on |
# nginx 和 php
确保启动 PHP 和 NGINX 的用户和用户组一致,这样可避免一些访问权限问题
php 的配置文件 /usr/local/php/etc/php-fpm.d/www.conf 的 user、group 修改为和 nginx 相同的用户和用户组
nginx 的 nginx.conf 中的 use 使用的用户,一般在该配置文件头