PhpStorm не откроет файл моментального снимка профайлера xdebug

================================================== =======

Игнорируйте это сообщение. Более простой вывод этой проблемы можно найти на PHP auto_prepend_file, из-за чего профайлер xdebug проваливается

================================================== =======

Оригинальная почта (и обновления)

Когда я пытаюсь открыть снимок профайлера xdebug в PhpStorm, используя:

Панель меню >> Инструменты >> Проанализируйте моментальный снимок профайлера xdebug …

Я выбираю файл xDebug, но я столкнулся с этой ошибкой:

Ошибка: неправильный формат снимка профайлера: неправильный формат имени

Я не переименовал снимок. Это имя по умолчанию: cachegrind.out.8008

php.ini

 <!-- language:lang-none --> [xdebug] zend_extension="php_xdebug-2.5.5-5.6-vc11.dll" xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_autostart=1 xdebug.profiler_enable=1 xdebug.profiler_output_dir="C:\websites\xdebug" ; xdebug.profiler_output_name= ; Commented out to allow default name xdebug.idekey=PHPSTORM 

Почему PhpStorm не сможет открыть снимок? Должен ли я настраивать опцию xdebug.profiler_output_name ?

Обновить

Я закрыл все свои проекты, обновил их с PhpStorm 2017.1.4 до 2017.2 , перезапустил Apache, удалил старые снимки и создал новый. Новый открывается без проблем.

Обновление 2

Кажется, если я запустил файл из командной строки, вызвав >php script.php , сгенерированный моментальный снимок можно открыть. Если я запустил тот же файл из браузера (что означает, что я просматриваю веб-сервер Apache: localhost/script.php ), моментальный снимок не открывается.

Обновление 3

Я также замечаю, что когда я запускаю из браузера, я не могу удалить снимок до тех пор, пока я не остановлю процесс Apache. Файл PHP, который я профилирую, не имеет инструкций: просто <?php . Ниже приведены два моментальных снимка:

Когда выполняется из командной строки (PhpStorm открывает этот файл без проблем):

 version: 1 creator: xdebug 2.5.5 (PHP 5.6.1-dev) cmd: C:\path\to\script.php part: 1 positions: line events: Time fl=(1) C:\path\to\script.php fn=(1) {main} summary: 0 1 0 

Когда выполняется из браузера (PhpStorm не может открыть этот снимок):

 version: 1 creator: xdebug 2.5.5 (PHP 5.6.1-dev) cmd: C:\path\to\script.php part: 1 positions: line events: Time fl=(2) C:\path\to\script.php fn=(1) summary: 0 1 0 

Обновление 4

Виновником является настройка auto_prepend_file ini . У меня был следующий набор в Apache Vhosts:

 php_value auto_prepend_file "C:\path\to\init.php" 

Этот файл запускается до того, как Apache выполнит сценарий, который был вызван из браузера. Когда я запускаю скрипт из командной строки, этот параметр (который находится в моей конфигурации Apache Vhosts) никогда не вступает в силу, поэтому init.php не запускается. И наоборот, если переместить параметр в php.ini где он также влияет на выполнение командной строки, то моментальные снимки, созданные из командной строки, также перестают работать.

Если я auto_prepend_file параметр auto_prepend_file , сгенерированный моментальный снимок профайлера может быть открыт без проблем в PhpStorm. Конечно, это не исправление, так как мне нужно, чтобы файл auto_prepend_file выполнялся для моего приложения для правильной работы.