With no access to set up port forwarding here at work, I was at an impass.īut I found a janky workaround that's somewhat of a PitB. The problem is, that when XDebug tries to connect back down to my machine, my PhpStorm is running on a NAT behind a firewall.
![phpstorm 9.0.2 ssh keepalive phpstorm 9.0.2 ssh keepalive](https://fearby.com/wp-content/uploads/2019/03/phpstorm-003.png)
I don't know if PHPStorm will look at the http server settings, but with just the ssh tunnel set up, it appeared to be trying to do it's xdebug connection to the EC2 address. Specifically I was trying to run scripts through an ssh tunnel without yet configuring any http server settings. I ran into a problem trying to use PhpStorm to do xdebug to an AWS EC2. ace_enable_trigger_value no value no value Xdebug.remote_log var/xdebug/log.txt var/xdebug/log.txt Xdebug.remote_cookie_expire_time 3600 3600 Xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p Xdebug.profiler_output_dir var/xdebug/profiles/ var/xdebug/profiles/ Xdebug.profiler_enable_trigger_value no value no value Xdebug.file_link_format no value no value Note that the xdebug.remote_log is being saved in /home/testingsite/public_html/var/xdebug/log.txt xdebugĭBGp - Common DeBuGger Protocol $Revision: 1.145 $ They reflect the php.ini from my current website's root ( /home/testingsite/public_html/php.ini). How can I tell if my remote XDebug is trying a direct connection to my server on port 9000, or if it is using the tunnel through port 22?ĭoes it matter which user I connect as through SSH? root or some other user? Does it matter if I have another SSH session connected to the same server at the same time that is not tunneled?ĮDIT: Here are my xdebug settings as outputted by phpinfo(). The XDebug log keeps on showing that it failed to connect. I have done that, over and over again, but it seems that no one told my remote server what to do. The tutorial instructs you to use Putty to open up an SSH connection to your remote server and configure the "tunnels" section of the connection to specify port 9000 on the remote host, and localhost:9000 for your local development machine. I don't fully understand tunneling, and maybe I never will, as I have spent several hours researching it and have yet to grasp it.
#PHPSTORM 9.0.2 SSH KEEPALIVE WINDOWS 8.1#
Xdebug on my remote testing server, the CentOS Linux machine where my PHP/MySQL based development website is sitting, cannot connect to my local Windows 8.1 development machine on port 9000.
#PHPSTORM 9.0.2 SSH KEEPALIVE HOW TO#
This tutorial I found that explains how to use PhpStorm with a remote server by SSH tunnel does not work (click to expand the section "Setting up an SSH tunnel on Windows). How does the remote server's xdebug know to tunnel? Or does it need to know? Do I need to tell that server about the tunnel? Or is it already aware of it as soon as I connect via the tunnel? But if is aware, then why can't xdebug connect on port 9000? Does my PhpStorm listen on port 9000, and my PuTTY handle sending the data there? Or does PhpStorm need to listen on port 22?
![phpstorm 9.0.2 ssh keepalive phpstorm 9.0.2 ssh keepalive](https://www.keycloak.org/docs/9.0/securing_apps/keycloak-images/exchange-idp-apply-policy.png)
I think the only issue is I am too dumb to figure out how to tunnel properly. I am behind a firewall, but I don't think that's the issue since I can connect by SSH with no problem, so the tunnel should work if I can just configure it correctly. I have PhpStorm 9.0.2 on my Windows 8.1 machine, trying to use PuTTY to connect to remote CentOS 6, PHP 5.6 / xdebug 2.3.2 machine at another location. I have to connect to this remote machine even if it kills me. I gave up and successfully connected to a local virtual machine, but it is too slow. I have literally been struggling with this for weeks.