Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Startup: Unable to load dynamic library (NEW RELIC)

I am running Ubuntu 12.04 with Nginx and the latest PHP. The story goes like this: I tried to install the new relic PHP agent per the instructions for ubuntu:

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

And it doesn't work. After everything the PHP agent simply can't start. I even whipped up a quick phpinfo.php page to see if the newrelic module was listed and it's not. So then I googled "New relic .deb" and came across this page: https://docs.newrelic.com/docs/server/server-monitor-installation-ubuntu-and-debian and followed the instructions. The install all goes through but the agent also doesn't start. I like to keep my servers clean so I decided "OK, since it doesn't work, until new relic support gets back to me and I can start from fresh I will remove the new relic stuff that was installed". So once again I followed the instructions on that link. The install seemed to work normally. However, if I execute the command "PHP" I get the following error:

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

I made sure there is no reference to newrelic in my /etc/php/fpm/php.ini file and double checked to see if there was anything in that folder. Nothing.

So my question is: how do I get rid of the error? How do I make PHP stop trying to load that newrelic.so module? Is there any reference to it somewhere that I might be missing?

like image 928
Adriano C R Avatar asked Nov 02 '13 08:11

Adriano C R


3 Answers

Ok, I found the answer. I can't describe how grateful I am to @mike in the following post: Error In PHP5 ..Unable to load dynamic library. I ran $ grep -Hrv ";" /etc/php5 | grep -i "extension=" and it returned a large list of files and one of them was newrelic.ini in /etc/php5/cli/conf.d/ which to be honest with you I wasn't even aware was a php directory. So I ran sudo rm -rf /etc/php5/cli/conf.d/newrelic.ini and restarted nginx and php5-fpm, and problem solved :)

Thanks @WayneWhitty for the suggestions! I am also going to let newrelic know that they should fix that on their uninstall script.

like image 106
Adriano C R Avatar answered Oct 16 '22 15:10

Adriano C R


  1. Make sure that you check the /conf.d folder for PHP. If there are any .ini files there, they will be automatically parsed. If you see anything relating to newrelic, remove it. In your php info file, search for Additional .ini files parsed if you want to see what .ini files have been automatically loaded on startup.
  2. Restart Nginx.
like image 35
Wayne Whitty Avatar answered Oct 16 '22 16:10

Wayne Whitty


On PHP7 CLI, remove /etc/php/7.0/cli/conf.d/newrelic.ini

like image 2
Pablo Martinez Avatar answered Oct 16 '22 16:10

Pablo Martinez