银河麒麟V10部署Zabbix或WordPress时PHP无法解析,根本原因是未预装PHP、PHP-FPM未启用或Nginx未正确通信;需据网络条件三选一:联网用dnf一键安装并启用php-fpm;离线需同架构机下载完整RPM依赖链后强制安装并配置www用户与socket权限;高安全场景须源码编译PHP 7.4.30,精确控制模块、用户及权限。

您在银河麒麟V10服务器上部署Zabbix或WordPress时PHP脚本无法解析,根本原因是系统未预装PHP运行时、PHP-FPM服务未启用,或Web服务器(如Nginx)未正确与PHP-FPM通信,必须按实际网络条件选择对应安装路径。
联网环境用dnf一键安装PHP及FPM
该方法适用于有外网访问权限的开发测试机或允许联网的生产环境,依赖麒麟V10默认dnf源,自动解析全部依赖并注册systemd服务,5分钟内可完成部署。
执行dnf makecache刷新本地软件包元数据缓存。
运行dnf list available php\* | grep -E "php-7\.4|php-8\.1"确认可用版本,优先选php-7.4(长期稳定支持)或php-8.1(新特性兼容性好)。
立即学习“PHP免费学习笔记(深入)”;
安装核心组件:dnf install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json php-opcache。这一步必须包含php-fpm,否则后续无法启动FastCGI进程管理器。
启用并立即启动服务:systemctl enable php-fpm && systemctl start php-fpm。若跳过enable,重启后服务将自动关闭。
验证监听套接字:ls -l /run/php-fpm/www.sock应返回类似srw-rw----. 1 root www 0 Jun 11 09:30 /run/php-fpm/www.sock的结果;若提示No such file or directory,说明www池未加载,需检查/etc/php-fpm.d/www.conf中listen路径是否为/run/php-fpm/www.sock且目录存在。
离线环境用RPM包批量安装PHP
适用于金融、政务等内网隔离场景,必须在同CPU架构(aarch64/x86_64)的联网麒麟V10机器上预先下载完整依赖链,否则离线安装后PHP-FPM会因缺失oniguruma或libzip等底层库而崩溃。
方法一:在联网机执行dnf download --resolve --destdir /tmp/php-rpms php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json。注意--resolve参数不可省略,否则下载的RPM包缺少依赖无法安装。
方法二:若联网机无dnf或受限于旧版yum,改用yum install --downloadonly --downloaddir=/home/offline_packages/php php74 php74-php-fpm php74-php-mysqlnd php74-php-gd php74-php-mbstring,但需确保yum源已配置为Kylin官方SP3仓库。
将整个/tmp/php-rpms目录拷贝至离线服务器/opt/offline-php路径。
进入包目录:cd /opt/offline-php,执行rpm -ivh --force --nodeps *.rpm强制安装。此处--nodeps是必需的,因离线环境无法校验依赖关系,但会导致后续必须手动补全用户与权限配置。
【必须创建www运行用户】执行useradd -r -s /sbin/nologin www。若跳过此步,PHP-FPM启动时会报错unknown user www并退出。
编辑/etc/php-fpm.d/www.conf,将user = apache和group = apache改为user = www与group = www;同时确认listen = /run/php-fpm/www.sock且listen.owner = www、listen.group = www、listen.mode = 0660。
源码编译安装PHP 7.4.30(高安全定制场景)
当项目要求启用ZTS线程安全、OPcache文件缓存,或需对接东方通THS中间件时,必须源码编译。该方式可精确控制模块开关、安装路径与权限策略,但耗时较长且对依赖完整性极度敏感。
第一步:安装编译工具链与开发头文件。dnf install -y gcc gcc-c++ make autoconf libtool bison re2c openssl-devel libxml2-devel curl-devel libpng-devel freetype-devel sqlite-devel oniguruma-devel。其中oniguruma-devel是PHP 7.4+正则引擎必需依赖,漏装会导致./configure阶段报错configure: error: Please reinstall the libonig distribution。
第二步:下载源码包并解压。wget https://www.php.net/distributions/php-7.4.30.tar.gz → tar -zxvf php-7.4.30.tar.gz → cd php-7.4.30。
第三步:执行configure配置。关键参数必须包含:--enable-fpm(启用FPM)、--with-fpm-user=www(指定运行用户)、--with-fpm-group=www(指定运行组)、--prefix=/usr/local/php74(自定义安装路径避免覆盖系统命令)。其他扩展如--with-mysqlnd、--enable-opcache按需添加。
第四步:编译并安装。make -j$(nproc)利用全部CPU核心加速编译 → make install。若编译中断,常见原因是内存不足(建议≥2GB)或gcc版本过低(需≥4.8)。
第五步:配置FPM服务。复制模板配置:cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf;启用www池:cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf;修改www.conf中listen路径为/run/php74-fpm.sock并设置对应权限。



















