Home » Newcomers » Newcomers » Problem running Eclipse PHP with WAMP & Xdebug (port conflict?)(Problem running Eclipse PHP with WAMP & Xdebug (port conflict?))
Problem running Eclipse PHP with WAMP & Xdebug (port conflict?) [message #1815585] |
Sun, 06 October 2019 14:15 |
DI V Messages: 20 Registered: October 2019 |
Junior Member |
|
|
Hello, Eclipse experts.
I am hoping you can help me with setting up Eclipse PHP to run with WAMP and Xdebug.
I have installed the latest Visual C++ files need by WAMP, the latest WAMP, the latest JRE x64, and the latest Eclipse PHP (from the installer) within the last few days.
I am running on Windows 8.1, 64-bit.
I got WAMP installed OK, and tested that it can allow display output of PHP files under c:\wamp64\www in my browser (including HTML, PHP and JS).
From the default index.php which provides a link to phpinfo (at http://localhost/?phpinfo=-1 ) I paste into https://xdebug.org/wizard
This tells me: "You're already running the latest Xdebug version"
There are some instructions that it shows "anyway". My php.ini file has the required instructions active (except that there is apparently a misprint in one instruction, which is correct in the php.ini: ...\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll should be .../zend_ext/php_xdebug-2.7.2-7.3-vc15-x86_64.dll , because that's where the file is on my HDD.)
I originally set my WAMP/Apache to listen on port 80.
I apparently got Eclipse to run my test php files, and display the corresponding browser output, but struggled to get it to hit breakpoints. Eventually I also got this working. Then 'something' happened, and I managed to crash Eclipse two or three times :-P From that point on I am struggling to get anything to work in Eclipse.
I started getting a message saying "Port 80 required by PHP built-in server at localhost is already in use."
There were also some online resources suggesting that this port setting should be changed anyway, as a matter of course, to something like 8000 or 8888. Through the WAMP menu I changed to port 8080. Then I got errors about "Port 8080 required by PHP built-in server at localhost is already in use." This was for both attempting to run and attempting to debug.
I decided to 'reinstall' Eclipse PHP. This involved manually deleting all of the Eclipse files in my user directory, except .p2 -- I only realised just now that I should probably have also deleted the project files to start afresh (oops!) -- and then installing Eclipse PHP anew from the installer (with bundles).
I am still getting port errors.
I have checked with the commandline command "netstat -aon", and initially httpd (I think) appeared to be in conflict.
I have tried a system reboot, and running Eclipse both with or without WAMP running. Is there any recommendation about whether (or not) WAMP should be run while Eclipse is running?
I still get the port error message when netstat confirms that nothing is on the relevant port other than Eclipse itself. Maybe Eclipse is not 'releasing' the port or 'stopping' the server?? My PHP code is like "<?php echo "PHP is working!"; ?>" ... "<script> document.write("JavaScript is working well!"); </script>". I am not aware that I need to send any explicit command to ask the server to stop listening to events (I enabled JS support).
I am unsure whether I am entering the settings correctly:
As default PHP server I have:
Server
Name: Default PHP Web Server
URL: http://localhost:8080
Root: C:\wamp64\www
Debugger
Debugger: Xdebug
Port: 9000
Path mapping
Server: http://localhost:8080
File system: c:\wamp64\www
I am not sure whether I should explicitly include the port 8080 both times, and whether the mapping is needed.
I created a project for my existing test file in c:\wamp64\www\TestABC , with project name TestABC.
When I first try to run this file with Run on Server I get a dialogue asking which server to use. I don't know why it refuses to use the existing defined (default) server, but under "Manually define a new server" I chose "PHP Built-in Server", with server name "localhost".
What is bizarre to me is that this ends up creating another server, but it is on port 8583! It has no debugger defined.
The first time around, this will run the file. Then if I try to use the newly defined server on port 8583 to run the file again, I get the abovementioned port error.
The new server has no debugger defined.
My default server in Eclipse has Xdebug defined as the debugger.
In the "Debugger" tab of the "Edit Server" dialogue there are no problems noted. However, when I edit the PHP executable (version 7.3.5), on the "Debugger" tab there it states: "Xdebug extension is not installed."
As far as I know, Xdebug is installed. But perhaps Eclipse is not finding it for some reason (which I cannot figure out). I don't remember seeing that message when I configured Eclipse in the first installation (unless I simply didn't notice). Is it possible that the ext versus zend_ext directory discrepancy could result in Eclipse failing to find Xdebug?
The only other thing that occurs to me is that WAMP recommends a dedicated Virtual Host be created for each project (i.e. each subdirectory under www, or elsewhere), which I haven't done. But, as I mentioned, that initially wasn't causing a problem with the first-installed Eclipse.
Sorry it's a long post. I hope I've included some useful background information on my problem. Please let me know if I need to provide other information or check anything particular.
Thanks in advance,
DIV
[Updated on: Sun, 06 October 2019 23:09] Report message to a moderator
|
|
| | |
Small victory [message #1815602 is a reply to message #1815601] |
Mon, 07 October 2019 00:03 |
DI V Messages: 20 Registered: October 2019 |
Junior Member |
|
|
OK, I just had a small success.
I thought before the option of "Run As > PHP Web Application" wasn't working, or had caused problems.
(In case it wasn't clear, my test file has PHP wrapped in HTML.)
I tried it again just now, and the first thing I noticed was a dialogue box with a message something like "... will not be published on the server"*. That sounded promising, because of the previously documented problem I had with old code being cached and the port numbers being locked up.
Anyway, my PHP file seemed to run correctly. It used port 8080.
Next I tried "Debug As > PHP Web Application". First I was asked whether I'd like to switch to the debugging 'perspective', which I opted to do.
This also seems to work perfectly.
I tried to go back again to run again. I noticed that this time choosing run as before instead resulting in entering a debug mode. Furthermore, I noticed that even if I hit Resume so that the code runs to the last command, the debug 'session' doesn't end. It only ends when I click the red Terminate button (even though Resume is inactive, because there's no more code to parse).
I can hit breakpoints now even in a secondary PHP file that is called by my main PHP test file.
(Incidentally, my project initially didn't include the secondary PHP file, because I created it today outside of Eclipse. So Eclipse complained that the file didn't exist. I couldn't find a way to add the file to the project, or to get the project directory to refresh. In the end I manually opened the secondary PHP file, and -- luckily -- when Eclipse opened it up it automatically associated the file with my test project. But that behaviour/workflow seems a bit clunky.)
[EDIT: Right-clicking the Project within the Project Explorer brings up a context menu, for which Refresh may find new files manually added to the Project folder(s).]
So maybe Eclipse is working????
And maybe -- despite the warning message I got -- Xdebug is also working?!?!
I'd still appreciate feedback on what I described above: advice on whatever I was doing wrong (with explanation of why it's wrong), whatever I could do better, and anything that looks like a genuine bug.
Thanks,
DIV
* I'm not sure what the message was exactly, because it's no longer displaying now that I am 'stuck' in the debugging 'perspective'.
[EDIT: Perspective can be changed from Window > Perspective > Open Perspective > {Debug, PHP}.]
[Updated on: Tue, 08 October 2019 09:04] Report message to a moderator
|
|
|
Motivation [message #1815603 is a reply to message #1815602] |
Mon, 07 October 2019 00:08 |
DI V Messages: 20 Registered: October 2019 |
Junior Member |
|
|
By the way, my intentions for debugging PHP are:
- Debug templates and plugins that currently run well in Joomla! 3, but are not working properly in Joomla! 4.
- Write mathematical functions & algorithms in PHP that will produce numerical values & arrays. (I will then want to display arrays on a webpage as tables and/or graphs.)
[Updated on: Mon, 07 October 2019 00:09] Report message to a moderator
|
|
| | | |
Goto Forum:
Current Time: Thu Dec 12 20:34:52 GMT 2024
Powered by FUDForum. Page generated in 0.08237 seconds
|