You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE环境下Docker容器中www-data用户启动New Relic PHP Agent权限配置咨询

配置www-data用户启动New Relic PHP Agent的Docker权限方案

你的Dockerfile切换到www用户后,New Relic Agent无法启动的核心原因是:Agent安装后相关文件/目录默认属于root用户,www-data没有读写/执行权限。只需在安装Agent后新增权限配置步骤即可解决,完整配置如下:

完整Dockerfile示例

FROM php:7.4-fpm as test

RUN \
  curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-10.1.0.313-linux.tar.gz | tar -C /tmp -zx && \
  export NR_INSTALL_USE_CP_NOT_LN=1 && \
  export NR_INSTALL_SILENT=1 && \
  /tmp/newrelic-php5-*/newrelic-install install && \
  rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* && \
  sed -i \
      -e 's/"REPLACE_WITH_REAL_KEY"/"My-Key"/' \
      -e 's/newrelic.appname = "PHP Application"/newrelic.appname = "test"/' \
      -e 's/;newrelic.daemon.app_connect_timeout =.*/newrelic.daemon.app_connect_timeout=15s/' \
      -e 's/;newrelic.daemon.start_timeout =.*/newrelic.daemon.start_timeout=5s/' \
      /usr/local/etc/php/conf.d/newrelic.ini && \
  # 赋予www-data用户New Relic相关资源的权限
  chown -R www-data:www-data \
    /usr/local/etc/php/conf.d/newrelic.ini \
    /usr/local/lib/php/extensions/no-debug-non-zts-20190902/newrelic.so \
    /var/log/newrelic \
    /var/run/newrelic

USER www-data

# 后续PHP应用构建步骤
# php app related build. etc....

关键权限说明

需要授权的资源及原因:

  • /usr/local/etc/php/conf.d/newrelic.ini:Agent配置文件,需www-data可读
  • /usr/local/lib/php/extensions/no-debug-non-zts-20190902/newrelic.so:Agent扩展库,需执行权限
  • /var/log/newrelic:Agent日志目录,需写入权限
  • /var/run/newrelic:Agent守护进程PID文件目录,需读写权限

额外注意事项

  1. 确认扩展目录路径:不同PHP版本的扩展目录后缀可能不同,可通过php -i | grep extension_dir命令查询实际路径
  2. GKE环境适配:若启用了Pod安全策略或安全上下文,需确保www-data用户ID(默认33)被允许运行容器,且目录权限未被强制覆盖
  3. 验证权限:容器启动后可执行ls -l检查上述文件/目录的所属用户,确认是否为www-data

内容的提问来源于stack exchange,提问作者Ishan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:01:08