在Amazon Linux 2 ARM64静默安装New Relic PHP Agent仍进入交互模式求助
问题
尝试在Amazon Linux 2(ARM 64)系统上以静默模式安装New Relic PHP Agent,但意外进入交互模式。已按官方文档要求设置环境变量,执行步骤如下:
export NR_INSTALL_PATH=/usr/bin export NR_INSTALL_SILENT=1 export NR_INSTALL_KEY=XXYYZZ wget https://download.newrelic.com/php_agent/release/newrelic-php5-10.10.0.1-linux.tar.gz gzip -dc newrelic-php5-10.10.0.1-linux.tar.gz | tar xf - cd newrelic-php5-10.10.0.1-linux/ sudo ./newrelic-install install
执行后进入交互模式,输出:
New Relic PHP Agent Installation (interactive mode) =================================================== Enter New Relic license key (or leave blank):
请问是否遗漏了什么?
解决方案
核心原因
使用sudo执行安装脚本时,默认不会继承当前用户的环境变量,导致NR_INSTALL_SILENT、NR_INSTALL_KEY这些静默安装所需的参数在root会话中不存在,脚本因此触发交互模式。此外,你下载的安装包可能不适配ARM64架构,也可能引发异常。
修复方法
方法1:直接在sudo命令中传递环境变量
将需要的环境变量前置在sudo后,确保root会话能获取到参数:
cd newrelic-php5-10.10.0.1-linux/ sudo NR_INSTALL_PATH=/usr/bin NR_INSTALL_SILENT=1 NR_INSTALL_KEY=XXYYZZ ./newrelic-install install
方法2:用sudo -E继承当前用户环境
-E参数会保留当前用户的环境变量,执行前先export好所有变量:
export NR_INSTALL_PATH=/usr/bin export NR_INSTALL_SILENT=1 export NR_INSTALL_KEY=XXYYZZ cd newrelic-php5-10.10.0.1-linux/ sudo -E ./newrelic-install install
方法3:使用ARM64专属安装包
你当前下载的是通用x86架构包,ARM64系统需使用对应架构的安装包。推荐使用官方自动化安装脚本(自动适配架构),并传递静默参数:
sudo NR_INSTALL_SILENT=1 NR_INSTALL_KEY=XXYYZZ bash -c "$(curl -Ls https://download.newrelic.com/php_agent/release/newrelic-install.sh)"
内容的提问来源于stack exchange,提问作者user182944
相关产品推荐
相关产品推荐

