科学上网
实现高效网络体验

openEuler中离线安装PHP的详细教程

背景:业务系统需要重centos迁移到openeuler;服务器不能联网,版本用openEuler20.03 SP3。此篇安装PHP采用离线rpm包方式。

下载在openEuler20.03 SP3中安装PHP所需要的rpm包

目前oepkgs 镜像源中已有2w+款软件包,可以在 https://search.oepkgs.net/search/ 上进行查询并下载使用;openEuler 第三方软件包镜像源 Oepkgs 仓库介绍可以去:

https://www.openeuler.org/zh/blog/liping/2022-11-10-oepkgs-introduction.html

安装php所需依赖如下(下方是此业务系统需要,可根据实际情况进行下载):

1. bzip2-devel-1.0.8-3.oe1.x86_64.rpm
   - bzip2 的开发库。bzip2 是一种压缩工具,-devel 包含头文件和库,用于开发需要压缩/解压缩功能的软件。
2. freetype-devel-2.10.2-3.oe1.x86_64.rpm
   - Freetype 的开发库。Freetype 是一个开源的字体渲染库,用于在图形界面中显示文本。此开发包提供编译时所需的头文件和库。
3. libcurl-devel-7.71.1-11.oe1.x86_64.rpm
   - libcurl 的开发库。libcurl 是一个用于传输数据的库,支持多种协议如 HTTP、FTP 等。开发包提供头文件和库,以便在应用程序中集成网络通信功能。
4. libjpeg-turbo-devel-2.0.5-1.oe1.x86_64.rpm
   - libjpeg-turbo 的开发库。libjpeg-turbo 是用于 JPEG 图像编码/解码的库,专为提高处理性能而设计。开发包用于开发涉及 JPEG 图像处理的软件。
5. libpng-devel-1.6.37-1.oe1.x86_64.rpm
   - libpng 的开发库。libpng 是一个处理 PNG 图像格式的库。此开发包包含头文件和库文件,允许开发人员编译支持 PNG 图像的应用程序。
6. libxml2-devel-2.9.10-24.oe1.x86_64.rpm
   - libxml2 的开发库。libxml2 是用于解析 XML 文档的库,广泛用于处理结构化数据。开发包用于开发需要解析或处理 XML 数据的应用程序。
7. libzip-1.5.1-4.oe1.x86_64.rpm
   - libzip 库。libzip 是一个处理 ZIP 压缩格式的库,提供对 ZIP 文件的创建、修改、提取等功能支持。
8. libzip-devel-1.5.1-4.oe1.x86_64.rpm
   - libzip 的开发库,包含头文件和库,用于开发涉及 ZIP 文件操作的应用程序。
9. libzip-help-1.5.1-4.oe1.noarch.rpm
   - libzip 的帮助文档,提供使用和开发 libzip 时的参考文档。
10. oniguruma-6.9.0-3.oe1.x86_64.rpm
   - Oniguruma 是一个正则表达式库,支持多种字符编码。这个包是库的运行时组件。
11. oniguruma-devel-6.9.0-3.oe1.x86_64.rpm
   - Oniguruma 的开发库,提供开发时的头文件和库,用于编写需要正则表达式处理功能的应用程序。
12. sqlite-devel-3.32.3-2.oe1.x86_64.rpm
   - SQLite 的开发库。SQLite 是一个嵌入式关系数据库,开发包用于开发涉及 SQLite 数据库的应用程序。
13. xz-devel-5.2.5-1.oe1.x86_64.rpm
   - xz 的开发库。xz 是一种高效的文件压缩工具,基于 LZMA 算法。开发包用于开发需要压缩/解压缩功能的软件。

把下载的rpm包上传到openEuler服务器中执行安装命令

rpm -ivh *.rpm

官网下载PHP,此篇下载的版本是php-7.4.33.tar.gz,下载地址为:

https://www.php.net/downloads.php

开始安装php:

#解压
tar -zxvf php-7.4.33.tar.gz
#进入解压后文件夹
cd php-7.4.33
#执行
./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --enable-xml --with-zip --enable-ftp --enable-gd --with-freetype --with-jpeg --with-zlib-dir --with-libxml --with-mhash --with-bz2 --with-curl --enable-bcmath --enable-soap
#查看是否有缺少依赖,如有缺少需找到对应系统版本依赖下载安装
#通过后执行
make && make install

开始配置php

#在php源码文件夹中,复制php配置文件到/etc/文件夹下
cp ./php.ini-development /etc/php.ini
#编辑配置文件
vim /etc/php.ini
#修改如下配置
post_max_size = 800M
upload_max_filesize = 50000M
max_file_uploads = 1000
#修改后保存

配置php-fpm

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#添加用户和组
groupadd www-data
useradd -g www-data www-data
#默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
#默认user和group的设置为nobody,将其改为www-data

启动php-fpm

/usr/local/php/sbin/php-fpm
#验证是否启动
netstat -tln | grep 9000

ps -aux|grep php-fpm

启动成功如下:

未经允许不得转载:专注于突破边界的个人博客 » openEuler中离线安装PHP的详细教程