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.