PHP启动:无法加载动态库(NEW RELIC)

Adr*_*C R 9 php ubuntu nginx newrelic

我正在使用Nginx和最新的PHP运行Ubuntu 12.04.故事是这样的:我试图按照ubuntu的说明安装新的遗留PHP代理:

wget -O - http://download.newrelic.com/548C16BF.gpg | sudo apt-key add -

sudo sh -c 'echo "deb http://apt.newrelic.com/debian/ newrelic non-free" 
> /etc/apt /sources.list.d/newrelic.list'

sudo apt-get update
sudo apt-get install newrelic-php5
sudo newrelic-install install
Run Code Online (Sandbox Code Playgroud)

它不起作用.在所有事情之后,PHP代理根本无法启动.我甚至掀起了一个快速phpinfo.php页面,看看是否列出了newrelic模块,但事实并非如此.然后我用Google搜索了"New relic .deb"并看到了这个页面:https://docs.newrelic.com/docs/server/server-monitor-installation-ubuntu-and-debian并按照说明进行操作.安装全部通过,但代理也无法启动.我喜欢保持我的服务器干净,所以我决定"好吧,因为它不起作用,直到新的遗物支持回到我身边,我可以从新的开始,我将删除已安装的新遗物".所以我再次按照该链接上的说明进行操作.安装似乎正常.但是,如果我执行命令" PHP",我会收到以下错误:

root@MYHOSTNAME:/home# php
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212
/newrelic.so' - /usr/lib/php5/20121212/newrelic.so: cannot open shared object file:
No such file or directory in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

我确保在我的/etc/php/fpm/php.ini文件中没有引用newrelic 并仔细检查以查看该文件夹中是否有任何内容.没有.

所以我的问题是:如何摆脱错误?如何让PHP停止尝试加载newrelic.so模块?在某些我可能会遗漏的地方是否有任何提及?

Adr*_*C R 19

好的,我找到了答案.我无法用以下文章描述我对@mike的感激之情:错误在PHP5中..无法加载动态库.我跑了$ grep -Hrv ";" /etc/php5 | grep -i "extension=",它返回了一个大的文件列表,其中一个是newrelic.ini,/etc/php5/cli/conf.d/老实说,我甚至不知道是一个PHP目录.所以我运行sudo rm -rf /etc/php5/cli/conf.d/newrelic.ini并重新启动nginx和php5-fpm,问题解决了:)

谢谢@WayneWhitty的建议!我还要让newrelic知道他们应该在卸载脚本上修复它.


Way*_*tty 5

  1. 确保检查 PHP 的 /conf.d 文件夹。如果那里有任何 .ini 文件,它们将被自动解析。如果您看到任何与 newrelic 相关的内容,请将其删除。在您的 php 信息文件中,搜索Additional .ini files parsed是否要查看启动时自动加载的 .ini 文件。
  2. 重新启动 Nginx。