Home > Mobile >  Install Xdebug for PHP 7.4 on M1 Apple
Install Xdebug for PHP 7.4 on M1 Apple

Time:01-06

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?

CodePudding user response:

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.

CodePudding user response:

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.

  • Related