title: Installation of Xdebug on MacOS for PHPStorm
body: <p>I’m facing a lot of issues installing Xdebug on my macOS. </p>
  
  <p>From the phpinfo page, I see that the <code>php.ini</code> file I’m using is in<code>/etc/php.ini</code>. While following some tutorials such as <a href="https://www.youtube.com/watch?v=_3jJT-McnMg" rel="nofollow noreferrer">this</a>, it was mentioned that the <code>[xdebug] section</code> should just be commented out. I happen to not see it at all at the bottom of the page, and just included it as per the tutorials, and ever since that change my <code>php -v</code> will produce this output</p>
  
  <pre><code>Failed loading /Applications/MAMP/bin/php/php7.3.9/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so:  dlopen(/Applications/MAMP/bin/php/php7.3.9/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so, 0x0009): code signature in (/Applications/MAMP/bin/php/php7.3.9/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so) not valid for use in process: mapping process is a platform binary, but mapped file is not
  PHP 7.3.9 (cli) (built: Nov  9 2019 08:08:13) ( NTS )
  Copyright (c) 1997-2018 The PHP Group
  Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
  </code></pre>
  
  <p>I was primarily using <code>php 7.3.9</code> before trying xdebug, and I also tried some solutions such as <a href="https://www.fieg.nl/installing-xdebug-on-mac-osx" rel="nofollow noreferrer">this</a>, <a href="https://xdebug.org/wizard" rel="nofollow noreferrer">this</a> and <a href="https://stackoverflow.com/questions/58317736/installation-of-xdebug-on-macos-catalina-10-15">this</a>, which mainly gave me a failed ‘make’ and blank PHP API versions. This is a trace of running <code>sudo pecl install xdebug</code> from <a href="https://www.fieg.nl/installing-xdebug-on-mac-osx" rel="nofollow noreferrer">the first solution</a></p>
  
  <pre><code>Password:
  downloading xdebug-2.9.4.tgz ...
  Starting to download xdebug-2.9.4.tgz (243,689 bytes)
  ..................................................done: 243,689 bytes
  91 source files, building
  running: phpize
  grep: /usr/include/php/main/php.h: No such file or directory
  grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
  grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
  Configuring for:
  PHP Api Version:
  Zend Module Api No:
  Zend Extension Api No:
  building in /private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4
  running: /private/var/tmp/pear/temp/xdebug/configure --with-php-config=/usr/bin/php-config
  checking for grep that handles long lines and -e... /usr/bin/grep
  checking for egrep... /usr/bin/grep -E
  checking for a sed that does not truncate output... /usr/bin/sed
  checking for cc... cc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables...
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether cc accepts -g... yes
  checking for cc option to accept ISO C89... none needed
  checking how to run the C preprocessor... cc -E
  checking for icc... no
  checking for suncc... no
  checking whether cc understands -c and -o together... yes
  checking for system library directory... lib
  checking if compiler supports -R... no
  checking if compiler supports -Wl,-rpath,... yes
  checking build system type... x86_64-apple-darwin19.2.0
  checking host system type... x86_64-apple-darwin19.2.0
  checking target system type... x86_64-apple-darwin19.2.0
  checking for PHP prefix... /usr
  checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
  checking for PHP extension directory... /usr/lib/php/extensions/no-debug-non-zts-20180731
  checking for PHP installed headers prefix... /usr/include/php
  checking if debug is enabled... no
  checking if zts is enabled... no
  checking for re2c... no
  configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
  checking for gawk... no
  checking for nawk... no
  checking for awk... awk
  checking if awk is broken... no
  checking whether to enable Xdebug support... yes, shared
  checking whether to enable Xdebug developer build flags... no
  checking Check for supported PHP versions... supported (7.3.9)
  checking for gettimeofday... yes
  checking for ANSI C header files... yes
  checking for sys/types.h... yes
  checking for sys/stat.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for memory.h... yes
  checking for strings.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for unistd.h... yes
  checking netinet/in.h usability... yes
  checking netinet/in.h presence... yes
  checking for netinet/in.h... yes
  checking poll.h usability... yes
  checking poll.h presence... yes
  checking for poll.h... yes
  checking sys/poll.h usability... yes
  checking sys/poll.h presence... yes
  checking for sys/poll.h... yes
  checking for cos in -lm... yes
  checking for ld used by cc... /Library/Developer/CommandLineTools/usr/bin/ld
  checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
  checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r
  checking for BSD-compatible nm... /usr/bin/nm -B
  checking whether ln -s works... yes
  checking how to recognize dependent libraries... pass_all
  checking dlfcn.h usability... yes
  checking dlfcn.h presence... yes
  checking for dlfcn.h... yes
  checking the maximum length of command line arguments... 196608
  checking command to parse /usr/bin/nm -B output from cc object... ok
  checking for objdir... .libs
  checking for ar... ar
  checking for ranlib... ranlib
  checking for strip... strip
  checking for dsymutil... dsymutil
  checking for nmedit... nmedit
  checking for -single_module linker flag... yes
  checking for -exported_symbols_list linker flag... yes
  checking if cc supports -fno-rtti -fno-exceptions... yes
  checking for cc option to produce PIC... -fno-common
  checking if cc PIC flag -fno-common works... yes
  checking if cc static flag -static works... no
  checking if cc supports -c -o file.o... yes
  checking whether the cc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
  checking dynamic linker characteristics... darwin19.2.0 dyld
  checking how to hardcode library paths into programs... immediate
  checking whether stripping libraries is possible... yes
  checking if libtool supports shared libraries... yes
  checking whether to build shared libraries... yes
  checking whether to build static libraries... no
  
  creating libtool
  appending configuration tag "CXX" to libtool
  configure: creating ./config.status
  config.status: creating config.h
  running: make
  /bin/sh /private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/libtool --mode=compile cc   -I. -I/private/var/tmp/pear/temp/xdebug -DPHP_ATOM_INC -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/include -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/main -I/private/var/tmp/pear/temp/xdebug -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/private/var/tmp/pear/temp/xdebug/src -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/src  -DHAVE_CONFIG_H  -g -O2   -c /private/var/tmp/pear/temp/xdebug/xdebug.c -o xdebug.lo
  mkdir .libs
   cc -I. -I/private/var/tmp/pear/temp/xdebug -DPHP_ATOM_INC -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/include -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/main -I/private/var/tmp/pear/temp/xdebug -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/private/var/tmp/pear/temp/xdebug/src -I/private/var/tmp/pear/temp/pear-build-rootvAIHaa/xdebug-2.9.4/src -DHAVE_CONFIG_H -g -O2 -c /private/var/tmp/pear/temp/xdebug/xdebug.c  -fno-common -DPIC -o .libs/xdebug.o
  /private/var/tmp/pear/temp/xdebug/xdebug.c:25:10: fatal error: 'php.h' file not found
  #include "php.h"
           ^~~~~~~
  1 error generated.
  make: *** [xdebug.lo] Error 1
  ERROR: `make' failed
  </code></pre>
  
  <p>Can someone enlighten me what is the problem? Feel free to ask me to provide more information.</p>