centos系统下php完全离线安装-rpm包方式安装(服务器不需要联网)

本文中的操作系统版本:CentOS Linux release 7.9.2009 (Core)

所安装的具体php版本:php7.4.27

前言

有时候 我们需要在一些要求安全或者保密要求比较严格的服务器上安装搭建php环境,但是服务器不能联网,只能在内网环境下使用,众所周知 这种情况下安装个php是非常麻烦的,因为安装过程中 大概率会提示你缺少这个依赖,缺少那个依赖,还不容易把缺少的依赖安装好了,又可能会发现因为安装的依赖版本问题,导致该依赖理论上还是无法使用的,也就是安装失败的。。。这个过程中是非常痛苦且麻烦的。。顺利的话,几小时安装搞定。。不顺利的话。。几天都不一定能安装好。。。


终于!!!今天我把php所需要的所有依赖库、动态链接库等都给下载且好了,只需要输入几个命令进行安装即可!现在这种安装php的方式是用rpm包的方式进行安装php的。

由于安装包比较大,我把安装包放在了百度网盘里面:https://pan.baidu.com/s/1HEnRslO1sZxdxXOl_SPlpg    提取码:plrg 

安装

# 将安装包从百度云下载下来,并上传到服务器的任意目录下(本文这里上传到了/root目录下)


#开始执行安装操作

#进入root目录
cd /root

#解压 压缩文件
unzip php7.4.27-\(rpm\).zip

#进入到安装包目录中
cd cd php7.4.27-\(rpm\)/

#将该目录中的所有以.rpm格式的文件全部进行安装,--nodeps表示安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force进行强制安装
rpm -Uvh *.rpm --nodeps --force

#下面这行命令其实没有什么卵用(手动调皮^_^)
find / -name php

#下面这行命令其实也没有什么卵用(再次手动调皮^_^ ^_^)
cd /usr/lib/systemd/system 

#启动php
systemctl start php74-php-fpm 

#查看是否有php-fpm进程,如果能看到php-fpm进程,则表示安装已经成功
ps aux | grep php-fpm


也可以使用php74 -v查看下版本,如果能显示版本 也代表安装成功,示例如下:

123.png

虽然有很多xml警告,但是php大部分功能基本是可以用的了,如果嫌弃这些警告,可以临时将/etc/opt/remi/php74/php.d/30-xmlreader.ini文件进行删除,或者 在安装之前 将安装目录中的 php74-php-xml-7.4.27-1.el7.remi.x86_64.rpm 及 php74-php-xmlrpc-7.4.27-1.el7.remi.x86_64.rpm文件进行删除,或者根据报错提示 再进行针对性解决。


PS:图上报错意思是 在 libxml2.so.2文件中没有定义xmlOutputBufferGetSize函数,用 nm -D libxml2.so.2 | grep xmlOutputBufferGetSize 命令 发现 libxml2.so.2 这个动态库文件里面 确实没有定义 xmlOutputBufferGetSize 函数,目测应该是libxml2的版本问题(在安装这个环境之前,我之前手动安装过libxml2.。。),因为我这里环境暂时用不上php内置的xml相关函数,这里就先不解决了。。如果是全新安装的centos系统,并且没有手动安装过libxml2相关的软件。。那应该不会出现这个报错的哈

安装后的基本配置文件路径

php的配置文件路径可以使用php74 --ini命令进行查看,或在网页使用phpinfo()进行查看

phpize程序 所在的路径为:/opt/remi/php74/root/usr/bin/phpize

php-config程序 所在的路径为:/opt/remi/php74/root/usr/bin/php-config

php所有的.so扩展文件路径:/opt/remi/php74/root/usr/lib64/php/modules/

.so扩展文件对应的ini配置文件路径:/etc/opt/remi/php74/php.d/


后续如果需要使用源码编译某个php扩展文件的时候,将生成的文件.so文件移动到 /opt/remi/php74/root/usr/lib64/php/modules/ 路径中,然后 参考 /etc/opt/remi/php74/php.d/ 目中的其中任意一个文件,复制粘贴(文件名字最好改为扩展的名字,方便统一查看),然后编辑修改复制出来的新文件,将里面的extension=你的so文件 之后保存退出,可以使用 php74 -m 查看php在命令行模式下是否已经加载该扩展文件。  没问题的话,并且网页要用的话,就重启下php-fpm进程即可

各种linux版本软件所需的依赖库下载官方地址

https://pkgs.org/


打开该网站,右上角输入框可以搜索,输入一些依赖库关键字,会自动出现你可能想要的依赖库软件,比如我现在需要下载libcurl-devel库,则可以按照下图形式进行搜索,示例图如下:

233.png

然后点击搜索,选择自己所需要的系统版本及libcurl-devel对应的版本进行下载即可(PS:下载按钮在点击search按钮之后 打开的页面中,选择依赖库对应的版本之后,再次打开的页面中,将滚动条往下拉,有个Download 按钮),有二进制包和源码包,复制对应的连接下载即可。

下载页面示例图如下:

666666.png



当然了,咋们本篇文章中,如果需要以rpm包的方式安装php的其中一些扩展的话,在这里也可以搜索的,比如我要下载php7.4版本的bamath扩展包,则可以这样搜索,如下图所示:

88888888.png


其实只要右上角的输入框一输入php关键字,就会出现很多包来供你选择,无非就是在php后面加上对应版本号可以细化到具体的php版本号即可,示例图如下:

1234567890.png




结束



声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复12人评论7,777人参与
  1. 1楼
    便捷摄影工作室

    好牛,已测试

    2016-02-28 12:04:01 回复
  2. 2楼
    naive

    浏览器换了无数个都看不到密码

    2017-02-23 04:06:13 回复
    • King 作者

      @naive 现在已被屏蔽。我再放上去,我的网站就被屏蔽咯

      2017-02-24 01:46:37 回复

电子邮件地址不会被公开。 必填项已用 *标注

loading