Не удается заставить Xdebug работать в PHPStorm с PHP & amp; XAMPP в Mac OS

Я изо всех сил пытался настроить 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

Итак, я следовал инструкциям Тейлора.

Я скачал 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);
~~~~~~~~~~~~~~~~~

Так что теперь я застрял на линии «сделать» и не знаю, как действовать дальше.

Извините, что это так долго, но я хотел подробно рассказать о том, что я пробовал до сих пор, и, надеюсь, помочь другим, кто может попробовать те же процедуры.

0

Решение

Оказывается, @Hannibal ответил на менее подробную версию этого вопроса. Я решил оставить этот вопрос здесь, потому что очень подробно рассказал о том, как правильно расположить пути к расположенным командам.

Причиной того, что файл ./configure работал неправильно, является ошибка в выпуске xdebug-2.6.1. @Hannibal указал, что xdebug-2.7.0beta1 исправляет эту ошибку. Таким образом, переход на бета-версию позволил простым инструкциям мастера работать. Теперь у меня есть xdebug, работающий в PHPStorm.

Вот ссылка на вопрос, который не имел дело с несколькими версиями PHP и Apache, а только с XAMPP и xdebug на Mac OSX. Более простой вопрос

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector