Search code examples
phpapachedebuggingxamppphpstorm

phpStorm - configure xDebug


I try to configure my phpStorm for debugging according to this tutorial .

My entire project is located in C:\work\Projects\xampp\htdocs\myCode

In the phpStorm I did to follow -

Under File > PHP > Servers:

Name: myCodeDebug
Host:http://localhost/myCode
Port:80
Debugger:Xdebug

Absolute path on server: http://localhost/myCode (same as the project location).

I use Apache server in ports 80,443.

My PhpStrom version is 7.1.3

Now I mark some breakpoints, go to Chrome and navigate to http://localhost/myCode/ but no any phpStrom debugger is promted although the entire website is got loaded .

What is missed here and how to make it works with xDebug?

Update:

Following the suggested in the comments , I followed this tutorial and now I have the chrome extension - Xdebug .

In this manual I paste all the content of php -i and did all what it required .

As described in Xdebug generator , I added two bookmarks - start debug and stop debug for IDE key = PHPSTORM .

In my php.ini I have -

[XDebug]
xdebug.idekey = "PHPSTORM"
xdebug.remote_port = 80

I work with xampp port 80 .

Now I hit the start deebug bookmark , in the phpStrom press on start to listen to php debug and set any breakpoint in php scope, set the Xdebug extension on Debug mode , browse to localhost/myCode/index.php but no any debugging is occur in the phpStrom .

How to config it correctly ?

Update 2:

Under cmd php --version I have -

PHP 5.5.11 (cli) (built: Apr  8 2014 15:07:14)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

Also all in File | Setting | php | servers was deleted .

Update 3:

[Here is my phpinfo();] (personal details had changed to XXXXXXXX) .


Solution

  • The first thing is that in your php.ini it seems you don't have xdebug installed. So first thing is you should go to Xdebug installation guide and paste here your php.ini file so you will get detailed instructions how to install it.

    If you install it correctly you should have something like below in your php.ini file:

    xdebug in php.ini

    The second thing I think is changing your xdebug port. Although your Apache is working at 80 port, for your xdebug you should have set another port.

    In your php.ini you should set for example:

    xdebug.remote_port=10000
    

    and of course restart server (I have 9000 port be default be I was getting notification in PhpStorm that this port is busy so I simple changed id to 10000 port).

    Now you should go to your PhpStorm settings and choose PHP -> Servers. You should have here your server and port 80 and you should have here "validate remote environment". Click it and in new Window you should have "Validate" button. You should click it to make sure it's fine. You should have here for example your Xdebug information displayed.

    Now you should in your PhpStorm go to setting (again) and choose PHP -> Debug. Here you need to have the same port as you set in your php.ini file (10000).

    I have the following setting in my PhpStorm in this Debug settings:

    phpstorm xdebug

    Now I assume you have your project already open and created some breakpoints. You should click icon "Start listen for PHP Debug connections) in your toolbar - 2nd from debug icon in toolbar.

    Now you can go to your browser and if you have your plugin installed correctly and you choose debug and refresh your page in browser, you should get info in your PhpStorm to accept connection to debug and you will be able to debug your site.

    If you still have problem you should also look at http://www.jetbrains.com/phpstorm/marklets/ - you may use those instead of using browser addon (simple add generated links to your toolbar/favorites in your browser).

    What I could also advise you is to look at this PhpStorm xdebug tutorial - it's almost 1 hour but you should be able to learn a lot from it.