Я изо всех сил пытался настроить Xdebugger в PHPStorm на моем Mac.Вот краткое изложение того, что я пробовал и нашел.Любая помощь приветствуется.
После долгих попыток и беспокойства из-за того, что я что-то испортил, я вытер свой Macbook и сделал новую установку MacOSX Mojave.Я установил XAMPP для Mac v7.3.0 (PHP7.3.0).После установки XAMPP я могу открыть Chrome и перейти на localhost, и я вижу подходящие сайты Apache, такие как dashboard, phpmyadmin и phpinfo.Я могу подтвердить, что информация php показывает v7.3.
Здесь на SO было сообщение, где кто-то установил 2 версии php, так что я обнаружил, что у меня действительно (с новой установкой os) есть 2 версии php.Если я делаю php -version из командной строки, я получаю v7.1.Но если я перехожу в каталог XAMPP (/ Applications / XAMPP / xamppfiles / bin), то php --info показывает мою версию 7.3.Это говорит мне о том, что я должен быть осторожен, когда буду ссылаться на команды в будущем, когда пытаюсь установить Xdebug.
Я также установил PHPStorm и настроил PHP 7.3 на языках, указывая на ini-файл в каталоге XAMPP.В PHPStorm все работает нормально, я могу создать тестовый php-файл и вызвать метод phpinfo () для отображения правильной версии php версии 7.3.Но в разделе php языка PHPStorm отладчик показывает, что он не установлен.
Так что я думаю, что у меня правильно настроен PHPStorm с XAMPP и PHP 7.3.
При сортировке разных версий php я думаю, что php 7.1 находится в среде пути, что означает, чтоМне нужно сослаться на абсолютное местоположение, если я хочу использовать php 7.3 из папки XAMPP.Я запустил php --version и php --ini, которые дали такой вывод:
Terrys-MBP:~ terry$ /Applications/XAMPP/xamppfiles/bin/php --version
PHP 7.3.0 (cli) (built: Dec 11 2018 01:01:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
Terrys-MBP:~ terry$
Terrys-MBP:~ terry$
Terrys-MBP:~ terry$ /Applications/XAMPP/xamppfiles/bin/php --ini
Configuration File (php.ini) Path: /Applications/XAMPP/xamppfiles/etc
Loaded Configuration File:
/Applications/XAMPP/xamppfiles/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Terrys-MBP:~ terry$
Поэтому я скопировал вывод phpinfo в https://xdebug.org/wizard.php, чтобы получить мои пользовательские инструкции по установке Xdebug.Это был выход и инструкция.(извините за форматирование)
Tailored Installation Instructions
Summary
Xdebug installed: no
Server API: Apache 2.0 Handler
Windows: no
Zend Server: no
PHP Version: 7.3.0
Zend API nr: 320180731
PHP API nr: 20180731
Debug Build: no
Thread Safe Build: no
Configuration File Path: /Applications/XAMPP/xamppfiles/etc
Configuration File: /Applications/XAMPP/xamppfiles/etc/php.ini
Extensions directory:
/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-
20180731
Instructions
Download xdebug-2.6.1.tgz
Unpack the downloaded file with tar -xvzf xdebug-2.6.1.tgz
Run: cd xdebug-2.6.1
Run: phpize (See the FAQ if you don't have phpize.
As part of its output it should show:
Configuring for:
...
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
If it does not, you are using the wrong phpize. Please follow this FAQ
entry and skip the next step.
Run: ./configure
Run: make
Run: cp modules/xdebug.so
/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-
20180731
Edit /Applications/XAMPP/xamppfiles/etc/php.ini and add the line
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-
debug-non-zts-20180731/xdebug.so
Restart the webserver
Итак, я следовал инструкциям Taylored.
Я скачал xdebug-2.6.1.tgz и распаковал его в / Applications / XAMPP / xamppfiles /затем измените папку на папку xdebug-2.6.1.
Запуск phpize не дал мне правильного вывода, поэтому я нажал на данную ссылку https://xdebug.org/docs/faq#custom-phpize, чтобы найти файл phpize для использования.Итак, строка phpize, которую я запустил, была:
/Applications/XAMPP/xamppfiles/bin/phpize from the
/Applications/XAMPP/xamppfiles/xdebug-2.6.1 folder
phpize дал правильный вывод, поэтому я продолжил со строкой ./configure:
./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
Я считаю, что первый запуск дал мнеошибка с autoconf, которую я скачал с Homebrew.При следующем запуске я получил сообщение о файле конфигурации ".in" и ".ac", который я посмотрел и переименовал в файл ".in", так как он постепенно сокращался в пользу файла ".ac".На этом этапе строка ./configure работала без каких-либо видимых ошибок.
Наконец, я запустил «make» и получил следующие типы ошибок и предупреждений: (извините, форматирование отключено в отношении длины строки)
предупреждения:
/Applications/XAMPP/xamppfiles/xdebug-2.6.1/xdebug.c:1831:107: warning:
format
specifies type 'long' but the argument has type 'zend_long'
(aka 'long long') [-Wformat]
...nesting level of '%ld' reached, aborting!",
XG(max_nesting_level));
~~~ ^~~~~~~~~~~~~~~~~~~~~
%lld
./php_xdebug.h:323:15: note: expanded from macro 'XG'
#define XG(v) (xdebug_globals.v)
^~~~~~~~~~~~~~~~~~
и
/Applications/XAMPP/xamppfiles/xdebug-
2.6.1/xdebug_code_coverage.c:624:17: warning:
implicit declaration of function 'RT_CONSTANT_EX' is invalid in
C99
[-Wimplicit-function-declaration]
array_value = RT_CONSTANT_EX(opa->literals,
opcode.op2);
^
ошибки: (больше, но я только что включил первый)
/Applications/XAMPP/xamppfiles/xdebug-2.6.1/xdebug_compat.c:56:71:
error: too
few arguments to function call, expected 6, have 5
return zend_get_zval_ptr(op_type, node, zdata, &should_free,
BP_VAR_R);
~~~~~~~~~~~~~~~~~
Так что теперьЯ застрял на линии "make" и не знаю, как действовать дальше.
Извините, это так долго, но я хотел быть в курсе того, что я пробовал до сих пор,и, надеюсь, чтобы помочь другим, кто может попробовать те же процедуры.