skip to Main Content

I want to install Xdebug on my Mac with M1. I use PHP 7.4.32 because of the project I attend. I cannot switch the PHP version.

When I try to install Xdebug, it say’s my PHP version has to update to 8.0.0 but I still want to use 7.4.32.

$ pecl install xdebug
> pecl/xdebug requires PHP (version >= 8.0.0, version <= 8.2.99), installed version is 7.4.32
No valid packages found
install failed

The current PHP version was installed with homewbrew.

$ brew services list
php          none  19968 user  ~/Library/LaunchAgents/homebrew.mxcl.php.plist
[email protected]      started      user  ~/Library/LaunchAgents/[email protected]
[email protected]      none 

I run also brew update command. Everything is fine.

How can I install Xdebug for PHP 7.4.32?

2

Answers


  1. Chosen as BEST ANSWER

    I got this message:

    Build process completed successfully
    Installing '/opt/homebrew/Cellar/[email protected]/7.4.32/pecl/20190902/xdebug.so'
    
    Warning: mkdir(): File exists in System.php on line 294
    PHP Warning:  mkdir(): File exists in /opt/homebrew/Cellar/[email protected]/7.4.32/share/[email protected]/pear/System.php on line 294
    
    Warning: mkdir(): File exists in /opt/homebrew/Cellar/[email protected]/7.4.32/share/[email protected]/pear/System.php on line 294
    ERROR: failed to mkdir /opt/homebrew/Cellar/[email protected]/7.4.32/pecl/20190902
    

    On M1 my php path is different /opt/homebrew/etc/php/7.4

    I tried to find the xdebug.so without success. This directory not exists /opt/homebrew/Cellar/[email protected]/7.4.32/pecl. In my case pecl is a symlink and i cannot enter.

    PHP Warning:  PHP Startup: Unable to load dynamic library 'xdebug.so' (tried: /opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so (dlopen(/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so, 0x0009): tried: '/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so' (no such file), '/usr/local/lib/xdebug.so' (no such file), '/usr/lib/xdebug.so' (no such file), '/opt/homebrew/Cellar/[email protected]/7.4.32/lib/httpd/modules/xdebug.so' (no such file), '/usr/local/lib/xdebug.so' (no such file), '/usr/lib/xdebug.so' (no such file)), /opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so (dlopen(/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so, 0x0009): tried: '/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so' (no such file), '/usr/local/lib/xdebug.so.so' (no such file), '/usr/lib/xdebug.so.so' (no such file), '/opt/homebrew/Cellar/[email protected]/7.4.32/lib/httpd/modules/xdebug.so.so' (no such file), '/usr/local/lib/xdebug.so.so' (no such file), '/usr/lib/xdebug.so.so' (no such file))) in Unknown on line 0
    
        Warning: PHP Startup: Unable to load dynamic library 'xdebug.so' (tried: /opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so (dlopen(/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so, 0x0009): tried: '/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so' (no such file), '/usr/local/lib/xdebug.so' (no such file), '/usr/lib/xdebug.so' (no such file), '/opt/homebrew/Cellar/[email protected]/7.4.32/lib/httpd/modules/xdebug.so' (no such file), '/usr/local/lib/xdebug.so' (no such file), '/usr/lib/xdebug.so' (no such file)), /opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so (dlopen(/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so, 0x0009): tried: '/opt/homebrew/opt/[email protected]/lib/httpd/modules/xdebug.so.so' (no such file), '/usr/local/lib/xdebug.so.so' (no such file), '/usr/lib/xdebug.so.so' (no such file), '/opt/homebrew/Cellar/[email protected]/7.4.32/lib/httpd/modules/xdebug.so.so' (no such file), '/usr/local/lib/xdebug.so.so' (no such file), '/usr/lib/xdebug.so.so' (no such file))) in Unknown on line 0
        PHP 7.4.32 (cli) (built: Sep 29 2022 10:45:51) ( NTS )
        Copyright (c) The PHP Group
        Zend Engine v3.4.0, Copyright (c) Zend Technologies
            with Zend OPcache v7.4.32, Copyright (c), by Zend Technologies
    

    This path /opt/homebrew/opt/[email protected]/lib/httpd/modules for my modules is correct but the xdebug.so is not inside.


  2. As per the compatibility page, Xdebug 3.2 is not supported with anything below PHP 8.0.

    In order to install Xdebug for PHP 7.4, you need to tell PECL the version that you want to install. The last Xdebug version that supports PHP 7.4 is Xdebug 3.1.6, which you can then install with pecl install xdebug-3.1.6.

    But you really should upgrade as neither PHP 7.4 or Xdebug 3.1 are still supported.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search