Использование Ячейка содержит одну из многих вещей в качестве отправной базы, я разработал это, чтобы работать в вашей ситуации.
=IFERROR(INDEX($E$1:$E$4,MATCH(TRUE,ISNUMBER(SEARCH(things,A1)),0)),"")
Обратите внимание, что это формула массива, поэтому ее необходимо ввести, нажав **Ctrl** + **Shift** + **Enter**
при выходе из режима редактирования в ячейке. Кроме того, вещи являются именованным диапазоном, относящимся к диапазону $D$1:$D$4
Не можете ли вы запустить отладчик и установить точку останова в appserver? Два различных сеанса отладки - один для перехвата вызова механизма шаблонов и один для перехвата вызова в сервере приложений.
Вы должны быть в состоянии отследить выходные данные из сервера приложений в сеансе отладки механизма шаблонов.
Если это не так можно запустить два сеанса отладки, а затем создать несколько тестовых входов для сервера приложений, захватив выходные данные из механизма шаблонов и использовать один отладчик с входами вашего тестового сервера приложений.
Это смущающе грубо и совершенно свободно от какого-либо изучения работы отладчика, но вы пробовали добавить
debugBreak();
в точках входа в вашу вызванную рутину? (Предполагая, что оба процесса выполняются на одной машине).
Я использовал эту технику, чтобы вернуться к процессу, вызываемому через AMFPHP. У меня был PHP-файл, загружающий Flash-файл в браузер, который затем перезванивал в PHP с помощью AMFPHP, все на одном сервере. Когда я нажимаю на строку debugBreak (), PhpED восстанавливает контроль.
Почему вы не используете сниффер HTTP? Что-то вроде tcpflow.
Кроме того, вы можете просто записать полный XML-файл в файл для каждого запроса и ответа.
К сожалению, из вашего вопроса не ясно, чего вы пытаетесь достичь, так что это всего лишь догадки. Вероятно, вам следует более четко указать, какую проблему вы пытаетесь решить.
Возможно, вы могли бы перефакториентировать свой код, который обращается к сервису удаления, и использовать внедрение зависимостей и макеты. Это позволило бы вам изолировать развитие клиентской части от задней, добавив «поддельные», но действительные данные.
Надеюсь, что это поможет.
Можно ли предположить, что вы говорите об отсутствии потоков в PHP, поэтому служба останавливает поток вашей программы и останавливает отладчик? Есть способы обойти это, но они жесткие, громоздкие и хакерские.
Например, если вы используете инфраструктуру, такую как Zend для трафика HTTP, вы можете взломать класс HTTP, чтобы использовать примитивные сокеты для чтения / записи службы вместо встроенный материал и создайте небольшой переключатель задач (цикл :) для отслеживания происходящего.
Конечно, вы можете использовать fopen ('http: // ...') и fread в кусках в цикле как что ж, это может сработать, но вам нужна поддержка http: в потоках.
Это не открытый код, но посмотрите Чарльз . Он работает как прокси-сервер и является лучшим отладочным прокси-сервером, который я когда-либо видел. Он работает в Linux, OS / X и Windows.
Практически любая HTTP-библиотека позволит вам указать прокси.
Я не очень разбираюсь в отладке PHP , и я не уверен, что следую «проталкиванию среды в какой-то стек», но мне интересно, netcat + некоторые сценарии оболочки могут быть полезны здесь для устранения неполадок ?
Вы можете использовать netcat для:
http://www.plenz.com/netcat-tips
Вы можете использовать его, чтобы заглушить фальшивый веб-сервис на одном конце:
echo "<xml .. <node>hello php!</node>" | netcat -lp 80 ... etc
... и вы, конечно, можете использовать его для прослушивания через порт чтобы очень четко видеть, как выглядят входящие запросы к веб-сервису.
Не могли бы вы использовать сценарий оболочки с netcat в качестве посредника, который действует как ваш веб-сервис, немедленно возвращает что-то общее, чтобы сделать ваш PHP счастливым, а затем передает запрос вашему фактическому серверу приложений и регистрирует результаты?
Очень просто.
веб-сервер netcat http://img240.imageshack.us/img240/791/netcat.jpg