The xdebug server doesn't connect to any of the clients on port 9000 ie:Netbeans IDE ,debugclient etc.xdebug is shown in phpinfo output.The above clients keep on waiting for the connection to be established.when ever I try to run a php script from the cli it gives the following warning message:
"PHP Warning: Module 'xdebug' already loaded in Unknown on line 0"
The 9000 port has been opened and shows up in the netstat --numeric-port -l command.
I have no idea what might have gone wrong.I have checked all the configuration files,everything seems ok. Any help will be appreciated.
Section of my configuration files
Linux abc.localdomain 3.1.1-2.fc16.x86_64 #1 SMP Mon Nov 14 15:46:10 UTC 2011 x86_64
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
[Zend]
zend_extension=/usr/lib64/php/modules/xdebug.so
[XDebug]
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.remote_log=/var/log/xdebug.log
php_api no. coincides
Xdebug Simple DBGp client (0.10.0)
Copyright 2002-2007 by Derick Rethans.
- libedit support: enabled
Waiting for debug server to connect.
Is it black magic!!
Thank You
It was actually Selinux not allowing Httpd to connect to other network resources.
Setting the boolean for httpd solved the problem:
setsebool -P httpd_can_network_connect on
OS Fedora 16-X_64
For me the solution was
sudo chcon -R -h -t /path/to/xdebug.so
meaning SELinux now allows httpd to execute this shared object.
Related
We are using Nagios XI with Nagios Core 4.4.5. We have updated clients to nrpe 4.0.3 agent. We get "Remote does not support Version 3 Packets" messages in the server log. How to solve this, shouldn't nrpe 4.0.3 support version 3 packets by default. Is there something missing in the configuration? We know that requests can be configured to use version 2, only, but using the newest version is better, isn't it?
EDIT:
nagios-server:~$ /usr/local/nagios/bin/nagios -h
Nagios Core 4.4.5
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2019-08-20
License: GPL
nagios-server:~$ cat /usr/local/nagiosxi/var/xiversion
full=5.6.7
major=5
minor=6.7
releasedate=2019-09-26
release=5607
Most likely you updated the NRPE client but did not update the plugins in the agent machine
Run these commands to check some plugins versions (nrpe, http, ping):
/usr/lib/nagios/plugins/check_nrpe --version
/usr/lib/nagios/plugins/check_http --version
/usr/lib/nagios/plugins/check_ping --version
Also run this command to check the nrpe daemon version:
/usr/sbin/nrpe-ng --version
Most likely you would get reported version below 3 so you will need to update the plugins.
I am trying to set xdebug. I do use XAMPP portable, PHP v 7.4.11. I downloaded dlls php_xdebug-3.0.2-7.4-vc15-x86_64.dll and php_xdebug-3.0.2-7.4-vc15-nts-x86_64.dll and put them in \xampp\php\ext. Then I set php.ini file:
implicit_flush = On
zend_extension_ts = H:\xampp\php\ext\php_xdebug-3.0.2-7.4-vc15-x86_64.dll
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable = 0
xdebug.profiler_output_dir = \tmp
xdebug.dump_globals=On
xdebug.show_exception_trace=On
xdebug.collect_params=4
I restarted server, but I can not see any info about xdebug at http://localhost/dashboard/phpinfo.php or among modules in php shell. I have tried both downloaded dlls, various ports, relative/absolute path. Nothing works. There are a few tutorials online, but they might be out of date, or is there problem with portable setting? Any idea, please?
I changed dll`s path and settings:
zend_extension=php_xdebug-3.0.2-7.4-vc15-x86_64.dll
[XDebug]
xdebug.mode=debug
xdebug.client_host = localhost
xdebug.client_port = 9003
xdebug.remote_handler="dbgp"
xdebug.output_dir = H:\xampp\tmp
Now after php -v in php console I get:
PHP 7.4.11 (cli) (built: Sep 29 2020 13:18:06) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
So that is good. At http://localhost/dashboard/phpinfo.php:
According to https://wiki.php.net/internals/extensions, since php 5.5 there is no needed to fill whole path to dll, only it`s name
All of the questions about this error show people running check_nrpe -H [some_remote_ip], in contrast to an error-free run on localhost.
I, however, can't even get this to run on localhost:
$> ./check_nrpe -H localhost
CHECK_NRPE: Error - Could not complete SSL handshake.
The service does appear to be up and running:
$> sudo netstat -apn | grep :5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 5847/nrpe
tcp6 0 0 :::5666 :::* LISTEN 10216/nrpe
And the daemon returns no errors
$> sudo service nagios-nrpe-server status
* nagios-nrpe is running
My nrpe.cfg file has allowed_hosts set correctly:
allowed_hosts=127.0.0.1,10.0.1.2,0.0.0.0
Contents of /var/log/syslog with debugging turned on:
Nov 1 22:54:44 <MYHOST> nrpe[11156]: Connection from ::1 port 6601
Nov 1 22:54:44 <MYHOST> nrpe[11156]: Host ::1 is not allowed to talk to us!
Nov 1 22:54:44 <MYHOST> nrpe[11156]: Connection from ::1 closed.
Does anyone have any idea what's going on, this seems almost nonsensical. Thanks!
Note that my example may be different than yours.
First change to the folder having your nrpe command and run:
./nrpe --version
The output from that command will look something like this:
NRPE - Nagios Remote Plugin Executor
Copyright (c) 1999-2008 Ethan Galstad (nagios#nagios.org)
Version: nrpe-3.0
Last Modified: 07-12-2016
License: GPL v2 with exemptions (-l for more info)
SSL/TLS Available, OpenSSL 0.9.6 or higher required
Notice that the last line tells you that SSL is indeed supported by this build of NRPE. If it is not there, then you'll have to install a version that was compiled with SSL support (which may mean compiling one of for yourself, depending on where you got it). The docs for the source code are pretty clear on how this is done.
If you DO have the SSL line above, look at the required version on the line and check your system to be sure that at least that version has been installed. I used this command:
rpm -qa | grep openssl
And received output looking like this:
libopenssl1_0_0-32bit-1.0.1k-2.39.1.x86_64
openssl-1.0.1k-2.39.1.x86_64
Both openssl and libopenssl are required for NRPEs SSL support to function correctly. I strongly recommend that if these are not installed, to use your systems package installer (aptget, yum, zypper, ...) to fetch and install them. If these are already installed, but you still have errors, then you will likely have a configuration issue in:
/etc/ssl/openssl.cnf
Fixing that is well outside of the scope/space available here. I recommend to upgrade both of these via a working, on-line package - these packages always include a default configuration which should work fine with NRPE - assuming the version is equal to or higher than required.
I think that check_nrpe is trying to use IPv6.
The IPv6 localhost ip is ::1, so adding this to your allowed_hosts= line in _nrpe.cfg_ and restarting nrpe will tick this box for you.
Alternatively as another responder replied you can just add -4 to your check_nrpe command to force it to stick to IPv4.
I was having the same issue and it's only when I saw the ::1 in the question it dawned on me what was happening.
I am not sure if it is still relevant, but I had the same issue and discovered someone had changed the /etc/hosts.allow file, blocking the access. Somehow this results in the following errors:
Client: Connection refused by TCP wrapper
Server: Error: (nerrs = 0)(!log_opts) Could not complete SSL handshake with <Client IP> : rc=-1 SSL-error=5
Changing the /etc/hosts.allow file solved the issue.
On Mac Sierra:
I've got php 7.1 installed, and installed xdebug via:
brew install php71-xdebug
Xcode is 8.0
php -v
Cannot load Xdebug - it was already loaded
PHP 7.1.0RC3 (cli) (built: Oct 2 2016 01:05:16) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
With a phpinfo() I cannot find any text that says xdebug
The php.ini file I've tried several variations of: and restarted apache
[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1 # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
More details can be found here: https://bugs.xdebug.org/view.php?id=1354
PHP7.1 is current not supported by xdebug, (php version <7.1). you should use 7.0 instead, and don't forget to turn on xdebog.remote_enable
I have configured nagios server on Centos machine. I am trying to add a rhel 6.6 machine to this nagios server Version 4.2.0. While configuring NRPE and testing it, there is a step to check configuration as /usr/local/nagios/libexec/check_nrpe -H localhost
I am getting the error as below at this step:
CHECK_NRPE: Error - Could not complete SSL handshake.
So, I used the -n option: /usr/local/nagios/libexec/check_nrpe -n -H localhost
And it shows a new error as below:
CHECK_NRPE: Error receiving data from daemon.
System logs just say:
Aug 31 14:31:10 xxxxx xinetd[18730]: START: nrpe pid=18781 from=::1
Aug 31 14:31:10 xxxxx xinetd[18781]: FAIL: nrpe address from=::1
Aug 31 14:31:10 xxxxx xinetd[18730]: EXIT: nrpe status=0 pid=18781 duration=0(sec)
Any idea on why this shows up?
Check the logs at /usr/local/nagios/var/nagios.log for any errors. This probably is the issue with nrpe.cfg, mostly a syntactical error.
Check your command definitions too in nrpe.cfg.
Also make sure port 5666 is open.
If you are using nrpe under xinetd, check the allowed hosts entry at /etc/xinetd.d/nrpe.
This problem basically arises when nrpe can't read its configurations properly.
Check allowed_hosts parameter in nrpe.cfg file. You need to allow localhost too.
CHECK_NRPE: Error - Could not complete SSL handshake.
solution : allow hosts in nrpe.conf file
remove -n in the command if ssl is enabled.