首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Centos7编译安装PHP7.4+Nginx访问

Centos7编译安装PHP7.4+Nginx访问

作者头像
用户5921339
发布2025-05-20 16:51:57
发布2025-05-20 16:51:57
32400
代码可运行
举报
运行总次数:0
代码可运行

一、编译安装PHP7.4

1.1 系统环境

代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

1.2 下载php-7.4源码并解压

wget https://www.php.net/distributions/php-7.4.30.tar.gz

代码语言:javascript
代码运行次数:0
运行
复制
tar zxf php-7.4.30.tar.gz 

1.3 安装依赖

代码语言:javascript
代码运行次数:0
运行
复制
yum install gcc libxml2-devel openssl-devel libcurl-devel gmp-devel sqlite-devel oniguruma-devel libpng-devel libwebp-devel libjpeg-devel freetype-devel net-snmp-devel

1.4 预编译、检查环境

代码语言:javascript
代码运行次数:0
运行
复制
./configure --prefix=/usr/local/php74 \
--with-config-file-path=/usr/local/php74/etc \
--with-mysqli \
--enable-mysqlnd \
--with-pdo-mysql  \
--with-iconv-dir \
--with-freetype  \
--with-jpeg \
--with-webp  \
--with-curl  \
--enable-gd \
--with-gmp  \
--with-zlib  \
--with-xmlrpc  \
--with-openssl  \
--without-pear   \
--with-gettext  \
--with-mhash  \
--with-fpm-user=nginx  \
--with-fpm-group=nginx  \
--enable-xml  \
--enable-fpm  \
--enable-ftp  \
--enable-bcmath  \
--enable-soap  \
--enable-shmop  \
--enable-sysvsem  \
--enable-sockets  \
--enable-inline-optimization  \
--enable-maintainer-zts  \
--enable-mbregex  \
--enable-mbstring  \
--enable-pcntl  \
--with-zip \
--disable-fileinfo  \
--disable-rpath  \
--enable-opcache  \
--with-snmp

1.5 编译并安装

代码语言:javascript
代码运行次数:0
运行
复制
make && make install

1.6 设置PHP配置文件

代码语言:javascript
代码运行次数:0
运行
复制
cp ~/php-7.4.30/php.ini-production /usr/local/php74/etc/php.ini
cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.conf

1.7 设置php启动脚本,并使其开机自启动

代码语言:javascript
代码运行次数:0
运行
复制
cp ~/php-7.4.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

systemctl enable php-fpm.service  
systemctl start php-fpm.service  
systemctl status php-fpm.service

二、问题处理

预编译PHP过程中会出现错误提示:No package 'libzip' found

编译安装libzip

2.1 安装cmake3.6.0

  • 下载cmake二进制包,解压并配置环境变量
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# curl -O https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz
[root@localhost ~]# tar zxf cmake-3.6.0-Linux-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# echo "export PATH=$PATH:/usr/local/cmake-3.6.0-Linux-x86_64/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
  • 验证cmake版本
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# cmake -version
cmake version 3.6.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

2.2 安装libzip-1.10.0(发文时最新版本)

  • 下载libzip源码文件,解压、编译安装
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# wget https://libzip.org/download/libzip-1.10.0.tar.gz
[root@localhost ~]# tar zxf libzip-1.10.0.tar.gz
[root@localhost ~]# mkdir -p libzip-1.10.0/build
[root@localhost ~]# cd libzip-1.10.0/build
[root@localhost ~]# cmake DCMAKE_INSTALL_PREFIX=/usr ..
[root@localhost ~]# make && make install
  • 设置环境变量
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig
  • 将动态库手动添加到 ldconfig 中
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# echo "/usr/local/lib64" > /etc/ld.so.conf.d/libzip.conf
[root@localhost ~]# ldconfig
  • 检查libzip1.10.0是否安装成功,有输出则表示安装成功
代码语言:javascript
代码运行次数:0
运行
复制
[root@localhost ~]# pkg-config --libs libzip
-L/usr/local/lib64 -lzip

三、配置Nginx

  • 编辑nginx.conf文件,在server代码块添加如下配置
代码语言:javascript
代码运行次数:0
运行
复制
        location ~ \.php$ {
        root html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
  • 最后访问php页面,本例中使用phpinfo()获取服务器系统参数,成功返回
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档