<a href="https://twitter.com/share" class="twitter-share-button" data-via="phpstorm">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<span id="fb-root"></span>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<span class="fb-like" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false" style="position:relative;margin-left:-20px;top:-5px;"></span>
<script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script>
<g:plusone size="medium"></g:plusone>

This tutorial explains how to install Xdebug extension to your web server and prepare it to be used for debugging with PhpStorm IDE.

 

Using HomeBrew

HomeBrew is a package manage for OS X that helps you to easily install commonly used packages. HomeBrew can be used to install and upgrade your version of PHP, and can also be used to easily install Xdebug:

brew install php<version number>-xdebug

Where <version number> is the version number (without the .) that you are using. For example, for PHP 5.6 use:

brew install php56-xdebug

This will install and enable Xdebug in your php.ini file. You can check that Xdebug has been install by using the command

php -v

You should see a line similar to

  with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

Installing and Configuring Xdebug Extension by Hand

  1. Download the Xdebug extension compatible with your PHP version (mind the PHP version number and thread-safe/non-thread-safe option) from the official site. Recommended stable versions are 2.2.1 and 2.1.3
  2. Copy the extension file to your web server in a location that is accessible by the web server.
  3. Add the following lines at the end of your php.ini file:
    [Xdebug]
    zend_extension=<full_path_to_xdebug_extension>
    xdebug.remote_enable=1
    xdebug.remote_host=<the host where PhpStorm is running (e.g. localhost)>
    xdebug.remote_port=<the port to which Xdebug tries to connect on the host where PhpStorm is running (default 9000)>
    

    Since PHP 5.3, you always need to use the 'zend_extension', and NOT 'zend_extension_ts', 'zend_extension_debug' or 'extension'.

    The value of 'xdebug.remote_host' can be a host name (e.g. localhost) or an IP address.

    The value of 'xdebug.remote_port' is usually 9000. It is default value in Xdebug and PhpStorm. Ensure that the specified port is opened on your client machine.

    For additional information check http://xdebug.org/docs/remote
  4. Restart your web server
  5. Check your installation:
    1. Execute in the terminal
      php --version
    2. Or create a file with the following content:
      <?php
      phpinfo();
      
    3. Open a page corresponds to this file and check phpinfo() output. It should contain Xdebug section:

Useful links

<a href="https://twitter.com/share" class="twitter-share-button" data-via="phpstorm">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<span id="fb-root"></span>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<span class="fb-like" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false" style="position:relative;margin-left:-20px;top:-5px;"></span>
<script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script>
<g:plusone size="medium"></g:plusone>