Удаленная отладка не остановится в точках останова

Чтобы проверить, когда кто-то отменяет возобновляемую подписку, вам необходимо периодически обновлять квитанцию ​​на вашем сервере и проверять:

  1. Дата истечения срока действия (позволяет узнать, активна ли подписка)
  2. Состояние автоматического обновления (позволяет узнать, был ли пользователь «отменен»)
  3. Дата отмены (сообщает, почему подписка отменена службой поддержки)

Обычно разработчики получают 2 и 3 смущенный. Apple не считает, что пользователь отказывается от автоматического продления «отмены» - тогда как на самом деле это то, что большинство разработчиков считают отменой. По этой причине НЕ достаточно прослушивать CANCEL события с уведомлениями о статусе подписки .

Вот хороший пост в блоге, в котором подробно рассказывается: iOS-подписки жесткие

36
задан Benjamin 31 January 2014 в 18:55
поделиться

7 ответов

В моем случае, когда я перемещаю zend_extension объект от вышеупомянутого [xdebug] к под [xdebug], это работает хорошо.

;zend_extension = "D:\wamp\bin\php\php5.6.25\ext\php_xdebug-2.5.4-5.6-vc11-
x86_64.dll"
[xdebug]
zend_extension ="D:/wamp/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11.dll"

xdebug.auto_trace = On
xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
0
ответ дан 27 November 2019 в 05:30
поделиться

Не могли бы вы предоставить полный журнал сеанса при попытке отладки с помощью Web IDE?

Кстати, при использовании Web IDE вам обычно не нужно устанавливать xdebug. idekey = webide, поскольку ключ ide автоматически назначается через параметр url.

0
ответ дан 27 November 2019 в 05:30
поделиться

from http://xdebug.org/docs/install , "You should ignore any prompts to add "extension=xdebug.so" to php.ini - this will cause problems. "

Итак, это помогло мне:

в конфигурационном файле, где вы загружаете расширение xdebug (для меня, для CLI версии php, это был /etc/php5/cli/conf.d/xdebug. ini ) - не указывайте

extension=xdebug.so

вместо этого используйте

zend_extension=/path/to/xdebug/module/xdebug.so

(для меня это было что-то вроде /usr/lib/php5/(...)/xdebug.so)

7
ответ дан 27 November 2019 в 05:30
поделиться

Я сталкиваюсь с этим время от времени и никогда не мог выяснить истинную причину проблемы.

Обычно я решаю проблему,

  1. размещая больше точек останова в клиентском коде, конструирующем экземпляры и загружающем классы (похоже, что XDebug игнорирует некоторые точки останова из-за проблем с загрузкой классов). Вы можете узнать и понять, где находятся эти точки, выполнив несколько шагов.

  2. Проверьте пути к источникам зависимостей. XDebug подхватывает эти файлы по их полным путям, вы можете увидеть, как ваша IDE обращается к ним на панели точек останова.

0
ответ дан 27 November 2019 в 05:30
поделиться

Вы полностью уверены, что не загружаете Xdebug через extension = xdebug.so ? Xdebug загрузится, если эта строка появится в вашем php.ini (т.е. она появится в выводе phpinfo () и т. Д.), но точки останова не работают, если загружены таким образом. (Он даже будет подключаться к клиентам отладчика и принимать точки останова - они просто никогда не запускаются.)

Я предлагаю вам закомментировать строку zend_extension и посмотреть, загружена ли она - вы можете подумать, что вы загружаете Xdebug через /etc/php5/conf.d/xdebug.ini , например, но что-то добавило его в /etc/php5/apache2/php.ini позади твоя спина.

См. этот вопрос и ответ для получения дополнительной информации.

2
ответ дан 27 November 2019 в 05:30
поделиться

XDebug отлично работает в моем окне Ubuntu Lucid с использованием NetBeans, и у меня есть строка zend_extension в моем php.ini (/etc/php5/apache2/php.ini).

Я использую netbeans 6.9 и PHP 5.2 с xdebug 2.0.4-2

Я вставляю сюда соответствующие строки, надеюсь, это поможет:

zend_extension=/usr/lib/php5/20060613/xdebug.so

[debug]
; Remote settings
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="netbeans-xdebug"

; General
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_params=off
xdebug.collect_return=off
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_local_vars=1
xdebug.show_mem_delta=0
xdebug.max_nesting_level=100
;xdebug.idekey=

; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp
xdebug.trace_options=0
xdebug.trace_output_name=crc32

; Profiling
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=crc32
8
ответ дан 27 November 2019 в 05:30
поделиться

У меня была та же проблема, решение для меня состояло в том, чтобы локальный код находился по тому же пути, что и удаленный код.

Пример

На веб-сервере код располагался по пути: /var/www/dev01/имя_приложения

Локально код располагался в моем домашнем каталоге: /home/me/ project/app_name

Эта конфигурация привела к тому, что моя IDE (Eclipse и Komodo) летела прямо мимо контрольных точек.

Изменение локального пути с /home/me/projects/имя_приложения на /var/www/dev01/имя_приложения устранило проблему. Использование sshfs для локального монтирования удаленной файловой системы делает это еще проще.

5
ответ дан 27 November 2019 в 05:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: