docker php8.0-apache new relic - 无法加载动态库 'newrelic.so'
docker php8.0-apache new relic - Unable to load dynamic library 'newrelic.so'
我正在尝试 运行 使用 php8.0-apache 映像 docker 中的新遗迹。
我遵循以下指示:
当我启动容器并看到 PHP 警告
Warning: PHP Startup: Unable to load dynamic library 'newrelic.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so (/usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Docker 文件:
FROM php:8.0-apache
RUN curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-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*
RUN sed -i \
-e 's/"REPLACE_WITH_REAL_KEY"/"COMPANY-KEY"/' \
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "company-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
感谢您的帮助。
在RUN curl -L ...
行的\
之后应该有newline
FROM php:8.0-apache
RUN curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-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*
RUN sed -i \
-e 's/"REPLACE_WITH_REAL_KEY"/"COMPANY-KEY"/' \
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "company-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
它在我的测试服务器上运行
# docker run -it test/newrelic:latest /bin/sh
root@97b9cd183947:/var/www/html# php -r "phpinfo();"|grep newrelic
/usr/local/etc/php/conf.d/newrelic.ini
newrelic
newrelic.daemon.address => @newrelic
newrelic.daemon.app_connect_timeout => 15s
newrelic.daemon.app_timeout => no value
检查是否有任何 newrelic.ini 文件并将其删除。
导航至 /etc/php5/cli/conf.d/ 并删除所有对应的 *.ini 文件。
这应该可以解决您的问题。
我正在尝试 运行 使用 php8.0-apache 映像 docker 中的新遗迹。
我遵循以下指示:
当我启动容器并看到 PHP 警告
Warning: PHP Startup: Unable to load dynamic library 'newrelic.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so (/usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-20200930/newrelic.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Docker 文件:
FROM php:8.0-apache
RUN curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-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*
RUN sed -i \
-e 's/"REPLACE_WITH_REAL_KEY"/"COMPANY-KEY"/' \
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "company-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
感谢您的帮助。
在RUN curl -L ...
\
之后应该有newline
FROM php:8.0-apache
RUN curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-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*
RUN sed -i \
-e 's/"REPLACE_WITH_REAL_KEY"/"COMPANY-KEY"/' \
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "company-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
它在我的测试服务器上运行
# docker run -it test/newrelic:latest /bin/sh
root@97b9cd183947:/var/www/html# php -r "phpinfo();"|grep newrelic
/usr/local/etc/php/conf.d/newrelic.ini
newrelic
newrelic.daemon.address => @newrelic
newrelic.daemon.app_connect_timeout => 15s
newrelic.daemon.app_timeout => no value
检查是否有任何 newrelic.ini 文件并将其删除。
导航至 /etc/php5/cli/conf.d/ 并删除所有对应的 *.ini 文件。
这应该可以解决您的问题。