今天记录一下,在涉密环境下安装 PHP,由于中科方德4.0有些组件在编译安装PHP时,目录不好确认,所以需要把可能用的组件需要一一安装。
软件下载地址:
OpenSSL下载地址:https://www.openssl.org/source/openssl-1.1.1.tar.gz libxml2下载地址:https://download.gnome.org/sources/libxml2/2.9/ SQLite3下载地圵:https://www.sqlite.org/download.html oniguruma下载地圵:https://github.com/kkos/oniguruma/releases zlib下载地圵:https://www.zlib.net autoconf下载地圵:https://www.gnu.org/software/autoconf/#downloading
1. 编译安装OpenSSL
# 解压缩 tar -zxvf openssl-1.1.1.tar.gz # 切入目录 cd openssl-1.1.1/ # 配置并指定安装后的目录为usr/local/openssl ./config --prefix=/usr/local/openssl # 编译 make # 编译安装 make install
2. 编译安装libxml2
# 解压 xz -d libxml2-2.9.0.tar.xz # 再使用tar来解 tar -xf libxml2-2.9.0.tar # 切换目录 cd libxml2-2.9.0/ # 配置,并指定安装目录 ./configure --prefix=/usr/local/libxml2 # 编译 make # 编译并安装 make install
3. 编译安装SQLite3
# 解压 tar -zxvf sqlite-autoconf-3470200.tar.gz # 切换目录 cd sqlite-autoconf-3470200/ # 配置,并指定安装目录 ./configure --prefix=/usr/local/sqlite3 # 编译 make # 编译并安装 make install # 全局生效 # export PATH=$PATH:/usr/local/sqlite3/bin # 查看版本 sqlite3 --version
4. 编译安装oniguruma
# 解压 tar -zxvf onig-6.9.9.tar.gz # 切换目录 cd onig-6.9.9 # 配置,并指定安装目录 ./configure --prefix=/usr/local/oniguruma # 编译 make # 编译并安装 make install
5. 编译安装zlib
# 解压 tar -zxvf zlib.tar.gz # 切换目录 cd zlib-1.3.1 # 配置,并指定安装目录 ./configure --prefix=/usr/local/zlib # 编译 make # 编译并安装 make install
6. 编译安装autoconf
# 解压 tar -zxvf autoconf-2.72.tar.gz # 切换目录 cd autoconf-2.72/ # 配置,并指定安装目录 ./configure --prefix=/usr/local/autoconf # 编译 make # 编译并安装 make install # 加入系统环境路径中 export PATH=/usr/local/autoconf/bin:$PATH # 与其生效 source /etc/profile # 查看版本 autoconf --version
7. 编译安装PHP
# 解压 tar -zxvf php-8.1.31.tar.gz # 切换目录 cd php-8.1.31/ # 编译前需要将 libxml2 导出到PKG_CONFIG_PATH export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH # 编译前需要将 SQLite3 导出到PKG_CONFIG_PATH export PKG_CONFIG_PATH=/usr/local/sqlite3/lib/pkgconfig:$PKG_CONFIG_PATH # 编译前需要将 openssl 导出到PKG_CONFIG_PATH export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH # 编译前需要将 oniguruma 导出到PKG_CONFIG_PATH export PKG_CONFIG_PATH=/usr/local/oniguruma/lib/pkgconfig:$PKG_CONFIG_PATH # 配置 ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --enable-fpm \ --enable-mbstring \ --enable-mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl \ --with-zlib \ --with-libxml \ --enable-xml \ --enable-session \ --enable-ctype \ --enable-tokenizer \ --enable-cli # 编译 make # 编译并安装 make install # 全局生效 export PATH=$PATH:/usr/local/php/bin source /etc/profile
到此为止,基础操作已经完成,接下来需要将PHP设置为服务,创建服务配置文件。
vi /usr/lib/systemd/system/php-fpm.service
在文件中加入如下内容:
[Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=fork PIDFile=/usr/local/php/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf ExecReload=/usr/local/php/sbin/php-fpm reload --fpm-config /usr/local/php/etc/php-fpm.conf ExecStop=/usr/local/php/sbin/php-fpm stop --fpm-config /usr/local/php/etc/php-fpm.conf PrivateTmp=true [Install] WantedBy=multi-user.target
配置配置完成后,需要重新加载systemd的配置。
systemctl daemon-reload
还需要修改PHP的两个配置文件,因为模板已经给了,只是没有正确应用,修改完成后,就可以使用服务的方式启动了。
# 使用模板生成有效的配置文件 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 # 启动服务中 systemctl start php-fpm # 设置开机自启 systemctl enable php-fpm
到此,php安装完成。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。