You see errors in your daemon log file after upgrading your agent like this:
protocol mismatch: A.B != X.Y.
Ensure your agent and daemon are both up to date on the same version number.
Restart your web server (Apache, Nginx, PHP-FPM, etc.).
If the number
A.Bis less than the number
X.Y, it means that you have an out of date agent trying to communicate with a more modern daemon.
If the number
A.Bis higher than the number
X.Y, then it means that your daemon is out of date, and the most likely cause is that you have too many daemons running. In this case, kill all of the currently running
newrelic-daemonprocesses, and restart the daemon using
The only reason for this error is that your agent and daemon are out of sync with each other. The daemon and the actual agent (the PHP extension) are a very tightly coupled pair, and the daemon will only accept connections and commands from an agent that matches it.
Sometimes the upgrade process will fail to kill the old daemon correctly and you may still have old daemon processes running. Frequently, this error is caused by not restarting your web server after an upgrade. If the daemon was upgraded correctly, but your web server still contains older agents, you will see this error. The error itself points to which one is out of date.
If you need more help, check out these support and learning resources:
- Suggest a change and learn how to contribute to our PHP agent open source repository.
- Browse the Explorers Hub to get help from the community and join in discussions.
- Find answers on our sites and learn how to use our support portal.
- Run New Relic Diagnostics, our troubleshooting tool for Linux, Windows, and macOS.
- Review New Relic's data security and licenses documentation.