{"id":1364,"date":"2015-09-30T07:15:49","date_gmt":"2015-09-30T05:15:49","guid":{"rendered":"https:\/\/www.robinglauser.ch\/blog\/?p=1364"},"modified":"2015-09-29T22:53:17","modified_gmt":"2015-09-29T20:53:17","slug":"setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging","status":"publish","type":"post","link":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/","title":{"rendered":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging"},"content":{"rendered":"<p>With xdebug you can set breakpoints in your code, see all defined variable and even change them while running the code.<\/p>\n<p>To start we need to download the latest Xdebug version from\u00a0<a href=\"http:\/\/xdebug.org\/download.php\" target=\"_blank\">http:\/\/xdebug.org\/download.php<\/a>. You have to choose the right version for your installed php version. If you&#8217;re using a newer XAMPP\u00a0version you should already have this file installed under\u00a0C:\\xampp\\php\\ext\\php_xdebug.dll.<\/p>\n<p>Now that we&#8217;ve installed the Xdebug extension we need to configure it to work with our Php and Phpstorm installation. First let&#8217;s\u00a0configure the our Php installation. For this we need to open our php.ini file (C:\\xampp\\php\\php.ini)<\/p>\n<p>At the bottom of the file you should see the following commented section for the configuration of Xdebug.<\/p>\n<pre>;[XDebug]\r\n;zend_extension = \"C:\\xampp\\php\\ext\\php_xdebug.dll\"\r\n;xdebug.profiler_append = 0\r\n;xdebug.profiler_enable = 1\r\n;xdebug.profiler_enable_trigger = 0\r\n;xdebug.profiler_output_dir = \"C:\\xampp\\tmp\"\r\n;xdebug.profiler_output_name = \"cachegrind.out.%t-%s\"\r\n;xdebug.remote_enable = 0\r\n;xdebug.remote_handler = \"dbgp\"\r\n;xdebug.remote_host = \"127.0.0.1\"\r\n;xdebug.trace_output_dir = \"C:\\xampp\\tmp\"<\/pre>\n<p>We now need to replace this section with the following code:<\/p>\n<pre>[XDebug]\r\nzend_extension = \"C:\\xampp\\php\\ext\\php_xdebug.dll\"\r\n;xdebug.profiler_append = 0\r\n;xdebug.profiler_enable = 1\r\n;xdebug.profiler_enable_trigger = 0\r\n;xdebug.profiler_output_dir = \"C:\\xampp\\tmp\"\r\n;xdebug.profiler_output_name = \"cachegrind.out.%t-%s\"\r\nxdebug.remote_enable = 1\r\n;xdebug.remote_handler = \"dbgp\"\r\n;xdebug.remote_host = \"127.0.0.1\"\r\n;xdebug.trace_output_dir = \"C:\\xampp\\tmp\"<\/pre>\n<p>Now we need a browser extension to enable the debug mode. For this we can use\u00a0<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc\/related\" target=\"_blank\">Xdebug <\/a>helper from the Chrome Web Store. For now just install the extension.<\/p>\n<p>We can now open our PhpStorm project and enable the debugging mode in &#8220;Run&#8221;, &#8220;Start Listening for PHP Debug Connections&#8221;. It&#8217;s also a good idea to activate &#8220;Break at first line of PHP scripts&#8221;. This will stop at every request even if you don&#8217;t set a breakpoint.<\/p>\n<p><a href=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_34_02-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1379 aligncenter\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_34_02-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\" alt=\"2015-09-29 22_34_02-fly.local - [C__xampp_htdocs_fly.local] - ..._api_index.php - PhpStorm 9.0.2\" width=\"381\" height=\"584\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_34_02-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png 381w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_34_02-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2-196x300.png 196w\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" \/><\/a><\/p>\n<p>Now add a breakpoint in your code which you want to debug. You can do this by clicking on the right of the line number. There should appear a red circle at the line which you clicked.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1387 aligncenter\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_51_07-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\" alt=\"2015-09-29 22_51_07-fly.local - [C__xampp_htdocs_fly.local] - ..._api_index.php - PhpStorm 9.0.2\" width=\"1108\" height=\"605\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_51_07-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png 1108w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_51_07-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2-400x218.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_51_07-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2-1024x559.png 1024w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><\/p>\n<p>Now open the local website you want to debug and enable the debugging mode in the right corner of the address bar by clicking on debug in the dropdown.<\/p>\n<p><a href=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_39_32-Fly-Install-applications-on-the-fly..png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1384 aligncenter\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_39_32-Fly-Install-applications-on-the-fly..png\" alt=\"2015-09-29 22_39_32-Fly - Install applications on the fly.\" width=\"145\" height=\"202\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>If you now reload the website you should get a new dialog in your PhpStorm window.<\/p>\n<p><a href=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_32_25-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1377 aligncenter\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_32_25-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\" alt=\"2015-09-29 22_32_25-fly.local - [C__xampp_htdocs_fly.local] - ..._api_index.php - PhpStorm 9.0.2\" width=\"631\" height=\"650\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_32_25-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png 631w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_32_25-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2-291x300.png 291w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/a><\/p>\n<p>Here we have to select the file in which the request starts. In this case it is the index.php in the api directory.<\/p>\n<p><a href=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_33_38-fly.local_api_packages_list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1378 aligncenter\" src=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_33_38-fly.local_api_packages_list.png\" alt=\"2015-09-29 22_33_38-fly.local_api_packages_list\" width=\"1714\" height=\"664\" srcset=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_33_38-fly.local_api_packages_list.png 1714w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_33_38-fly.local_api_packages_list-400x155.png 400w, https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_33_38-fly.local_api_packages_list-1024x397.png 1024w\" sizes=\"auto, (max-width: 1714px) 100vw, 1714px\" \/><\/a><\/p>\n<p>You can now view all the defined variables in your scope with the global variables like $_SERVER, $_COOKIE, $_GET and more. You can also set additional breakpoints, change the value by double clicking on a variable and go step by step\u00a0through the request.<\/p>\n<p>More information about the configuration is available here:<br \/>\n<a href=\"http:\/\/confluence.jetbrains.com\/display\/PhpStorm\/Xdebug+Installation+Guide\" target=\"_blank\">http:\/\/confluence.jetbrains.com\/display\/PhpStorm\/Xdebug+Installation+Guide<br \/>\n<\/a><a href=\"https:\/\/www.jetbrains.com\/phpstorm\/quickstart\/debugger.html\" target=\"_blank\">https:\/\/www.jetbrains.com\/phpstorm\/quickstart\/debugger.html<\/a><a href=\"http:\/\/confluence.jetbrains.com\/display\/PhpStorm\/Xdebug+Installation+Guide\" target=\"_blank\"><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">With xdebug you can set breakpoints in your code, see all defined variable and even change them while running the code. To start we need to download the latest Xdebug version from\u00a0http:\/\/xdebug.org\/download.php. You have to choose the right version for your installed php version. If you&#8217;re using a newer XAMPP\u00a0version you should already have this file installed under\u00a0C:\\xampp\\php\\ext\\php_xdebug.dll. Now that &#8230; <a class=\"read-more\" href=\"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":1380,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[45],"tags":[],"class_list":["post-1364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser\" \/>\n<meta property=\"og:description\" content=\"With xdebug you can set breakpoints in your code, see all defined variable and even change them while running the code. To start we need to download the latest Xdebug version from\u00a0http:\/\/xdebug.org\/download.php. You have to choose the right version for your installed php version. If you&#8217;re using a newer XAMPP\u00a0version you should already have this file installed under\u00a0C:xamppphpextphp_xdebug.dll. Now that ... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/\" \/>\n<meta property=\"og:site_name\" content=\"Robin Glauser\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-30T05:15:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2544\" \/>\n\t<meta property=\"og:image:height\" content=\"1384\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Robin Glauser\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:site\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Robin Glauser\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/\"},\"author\":{\"name\":\"Robin Glauser\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"headline\":\"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging\",\"datePublished\":\"2015-09-30T05:15:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/\"},\"wordCount\":409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"image\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\",\"articleSection\":[\"Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/\",\"name\":\"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\",\"datePublished\":\"2015-09-30T05:15:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\",\"contentUrl\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png\",\"width\":2544,\"height\":1384},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/09\\\/30\\\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/\",\"name\":\"Robin Glauser\",\"description\":\"My Blog about Development, Design and my random thoughts.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\",\"name\":\"Robin Glauser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"contentUrl\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"width\":800,\"height\":530,\"caption\":\"Robin Glauser\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\"},\"description\":\"I'm a web developer.\",\"sameAs\":[\"https:\\\/\\\/www.robinglauser.ch\",\"https:\\\/\\\/www.instagram.com\\\/robinglauser\\\/\",\"https:\\\/\\\/x.com\\\/robinglauser\"],\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/author\\\/robin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/","og_locale":"en_US","og_type":"article","og_title":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser","og_description":"With xdebug you can set breakpoints in your code, see all defined variable and even change them while running the code. To start we need to download the latest Xdebug version from\u00a0http:\/\/xdebug.org\/download.php. You have to choose the right version for your installed php version. If you&#8217;re using a newer XAMPP\u00a0version you should already have this file installed under\u00a0C:xamppphpextphp_xdebug.dll. Now that ... Read More","og_url":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/","og_site_name":"Robin Glauser","article_published_time":"2015-09-30T05:15:49+00:00","og_image":[{"width":2544,"height":1384,"url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png","type":"image\/png"}],"author":"Robin Glauser","twitter_card":"summary_large_image","twitter_creator":"@robinglauser","twitter_site":"@robinglauser","twitter_misc":{"Written by":"Robin Glauser","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#article","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/"},"author":{"name":"Robin Glauser","@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"headline":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging","datePublished":"2015-09-30T05:15:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/"},"wordCount":409,"commentCount":0,"publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png","articleSection":["Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/","url":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/","name":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging - Robin Glauser","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#primaryimage"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png","datePublished":"2015-09-30T05:15:49+00:00","breadcrumb":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#primaryimage","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/09\/2015-09-29-22_36_31-fly.local-C__xampp_htdocs_fly.local-..._api_index.php-PhpStorm-9.0.2.png","width":2544,"height":1384},{"@type":"BreadcrumbList","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/09\/30\/setting-up-xdebug-and-phpstorm-with-xampp-for-nicer-debugging\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robinglauser.ch\/blog\/"},{"@type":"ListItem","position":2,"name":"Setting up Xdebug and PhpStorm with XAMPP for nicer debugging"}]},{"@type":"WebSite","@id":"https:\/\/www.robinglauser.ch\/blog\/#website","url":"https:\/\/www.robinglauser.ch\/blog\/","name":"Robin Glauser","description":"My Blog about Development, Design and my random thoughts.","publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19","name":"Robin Glauser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","width":800,"height":530,"caption":"Robin Glauser"},"logo":{"@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg"},"description":"I'm a web developer.","sameAs":["https:\/\/www.robinglauser.ch","https:\/\/www.instagram.com\/robinglauser\/","https:\/\/x.com\/robinglauser"],"url":"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/1364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/comments?post=1364"}],"version-history":[{"count":15,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/1364\/revisions"}],"predecessor-version":[{"id":1388,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/1364\/revisions\/1388"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media\/1380"}],"wp:attachment":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media?parent=1364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/categories?post=1364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/tags?post=1364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}