<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Разработка &#187; xdebug</title>
	<atom:link href="http://www.job-blog.bullgare.ru/tag/xdebug/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.job-blog.bullgare.ru</link>
	<description>о программировании и работе</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:42:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Как правильно установить xdebug для удобной работы</title>
		<link>http://www.job-blog.bullgare.ru/2010/08/%d0%ba%d0%b0%d0%ba-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d1%8c-xdebug-%d0%b4%d0%bb%d1%8f-%d1%83%d0%b4%d0%be%d0%b1%d0%bd%d0%be/</link>
		<comments>http://www.job-blog.bullgare.ru/2010/08/%d0%ba%d0%b0%d0%ba-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d1%8c-xdebug-%d0%b4%d0%bb%d1%8f-%d1%83%d0%b4%d0%be%d0%b1%d0%bd%d0%be/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 12:53:06 +0000</pubDate>
		<dc:creator>bullgare</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[администрирование]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://www.job-blog.bullgare.ru/?p=759</guid>
		<description><![CDATA[1. Скачиваем расширение &#8211; http://www.xdebug.org/download.php (я качаю ts) и копируем в папку с расширениями php. 2. В php.ini пишем zend_extension_ts = "/php_xdebug.dll" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.idekey=bullgare ;ну или другой ;это для профилирования xdebug.profiler_enable=Off xdebug.profiler_output_dir="c:\traces" xdebug.profiler_enable_trigger=On xdebug.profiler_output_name = cachegrind.out.%t.%p После перезапуска апача phpinfo будет содержать раздел xdebug. 3. Качаем плагин для firefox &#8211; Xdebug [...]]]></description>
			<content:encoded><![CDATA[<p>1. Скачиваем расширение &#8211; <a href="http://www.xdebug.org/download.php">http://www.xdebug.org/download.php</a> (я качаю ts) и копируем в папку с расширениями php.<br />
2. В <strong>php.ini</strong> пишем</p>
<pre class="code">
zend_extension_ts = "<путь-к-папке-ext>/php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=bullgare ;ну или другой

;это для профилирования
xdebug.profiler_enable=Off
xdebug.profiler_output_dir="c:\traces"
xdebug.profiler_enable_trigger=On
xdebug.profiler_output_name = cachegrind.out.%t.%p
</pre>
<p>После перезапуска апача phpinfo будет содержать  раздел <strong>xdebug</strong>.<br />
<span id="more-759"></span><br />
3. Качаем плагин для firefox &#8211; <a href="http://www.softpedia.com/progDownload/Xdebug-Helper-Download-79882.html/">Xdebug Helper с неофициального сайта &#8211; http://www.softpedia.com/progDownload/Xdebug-Helper-Download-79882.html</a>, к сожалению, на официальном сайте его уже нет, там он называется EasyXdebug и не работает (<a href="https://addons.mozilla.org/nl/firefox/addon/58688">https://addons.mozilla.org/nl/firefox/addon/58688</a>).<br />
Он для нового firefox не подходит &#8211; надо поправить версию. Залазим в скачанный архив (можно временно переименовать в zip, к примеру), редактируем файл <strong>install.rdf</strong> &#8211; ставим параметр <strong>maxVersion=&raquo;5.0&#8243;</strong>. Сохраняем в архив, переименовываем его обратно (меняем расширение). Потом он ставится без проблем. Прописываем в настройках плагина тот же ключ, что и в <strong>php.ini</strong>.<br />
4. После этого в среде разработки настраиваем всё в соответствии с настройками php и плагина. Я лично пользуюсь phpStorm, в нём надо ткнуть в кнопку <strong>Select Debug configuration</strong>, создать новую конфигурацию, создать в конфигурации новый<strong>Server</strong>, у которого в <strong>Web server root URL</strong> пишем url к корню сервера, к примеру, http://example.com. Во вкладке <strong>Mappings</strong> в поле <strong>Local path</strong> пишем локальный путь к серверу (с:\mysite).<br />
В настройках конфигурации прописать браузер &#8211; firefox и idekey.<br />
5. Использование:<br />
В браузере ткнуть в правом нижнем углу кнопку <strong>Start/stop xdebug session</strong>, в IDE нажать на кнопку <strong>debug</strong>, поставить точку останова, обновить страничку.<br />
С момента на писания статьи IDE немного поменялась, про настройку лучше почитать в их официальном блоге &#8211; <a href="http://blogs.jetbrains.com/webide/2011/03/configure-php-debugging-in-phpstorm-2-0/">Configuring PHP debugging in PhpStorm 2.0</a>.</p>
<p>Если идёт работа через nginx+php-fpm, то надо прописать порт <strong>9900</strong>, к примеру (обычно fastcgi висит на 9000 порту). В <strong>nginx.conf</strong> в раздел <strong>http</strong> добавляем  <strong>fastcgi_read_timeout 600;</strong>, а в <strong>php/fpm/pool.d/www.conf</strong> &#8211; <strong>request_terminate_timeout = 600</strong> (это для Ubuntu;-) ). Нужно это для того, чтобы nginx и fastcgi не рвали соединение через 60 секунд. (<a href="http://habrahabr.ru/qa/1452/">http://habrahabr.ru/qa/1452/</a>).<br />
Xdebug helper уже почему-то не поддерживается, но его можно <a href="http://releases.mozilla.org/pub/mozilla.org/addons/3960/xdebug_helper-0.3.1-fx.xpi">скачать с официального сайта</a> (правда надо подправить install.rdf, т.к. он устарел), уже модифицированная версия &#8211; <a href='http://www.job-blog.bullgare.ru/wp-content/uploads/2010/08/xdebug_helper-0.3.1-fx.zip'>xdebug_helper-0.3.1-fx</a> (надо поставить расширение xpi). </p>
<p>Если на сервере идёт одновременная работа с нескольких разработческих машин, то надо в ini дописать</p>
<pre class="code">
xdebug.remote_connect_back = 1
;xdebug.remote_host закомментировать
</pre>
<p>Хотя это даст возможность любому зашедшему с правильным ключом запустить любой запрос в режиме отладки, что не хорошо для открытых извне серверов. Если же сервер открыт всем , то можно попробовать использовать<a href="http://derickrethans.nl/debugging-with-multiple-users.html"> Xdebug proxy</a> (phpStorm 2.1 поддерживает прокси).</p>
<p><a href="http://xdebug.org/docs/all_settings">Описание всех параметров xdebug</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.job-blog.bullgare.ru/2010/08/%d0%ba%d0%b0%d0%ba-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%b8%d1%82%d1%8c-xdebug-%d0%b4%d0%bb%d1%8f-%d1%83%d0%b4%d0%be%d0%b1%d0%bd%d0%be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Трассировка PHP-приложений с помощью xdebug</title>
		<link>http://www.job-blog.bullgare.ru/2010/07/%d1%82%d1%80%d0%b0%d1%81%d1%81%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-xdebug/</link>
		<comments>http://www.job-blog.bullgare.ru/2010/07/%d1%82%d1%80%d0%b0%d1%81%d1%81%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-xdebug/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 10:37:46 +0000</pubDate>
		<dc:creator>bullgare</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[xdebug]]></category>
		<category><![CDATA[отладка]]></category>

		<guid isPermaLink="false">http://www.job-blog.bullgare.ru/?p=748</guid>
		<description><![CDATA[Вот достаточно подробная статья на эту тему. В принципе достаточно написать xdebug_start_trace('&#60;Путь-к файлу&#62;.html', XDEBUG_TRACE_HTML); ... ... xdebug_stop_trace();]]></description>
			<content:encoded><![CDATA[<p>Вот достаточно подробная <a href="http://habrahabr.ru/blogs/php/31463/">статья</a> на эту тему.<br />
В принципе достаточно написать</p>
<pre class="code">
xdebug_start_trace('&lt;Путь-к файлу&gt;.html', XDEBUG_TRACE_HTML);
...
...
xdebug_stop_trace();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.job-blog.bullgare.ru/2010/07/%d1%82%d1%80%d0%b0%d1%81%d1%81%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-xdebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Профилирование php-проекта: Xdebug</title>
		<link>http://www.job-blog.bullgare.ru/2009/09/%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-php-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b0-xdebug/</link>
		<comments>http://www.job-blog.bullgare.ru/2009/09/%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-php-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b0-xdebug/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 11:47:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[серверная оптимизация]]></category>
		<category><![CDATA[bottle-neck]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[xdebug]]></category>
		<category><![CDATA[бутылочное горлышко]]></category>
		<category><![CDATA[отладка]]></category>
		<category><![CDATA[профилирование]]></category>

		<guid isPermaLink="false">http://www.job-blog.bullgare.ru/?p=240</guid>
		<description><![CDATA[Установка Скачать После помещения библиотеки в папку с расширениями в php.ini надо написать zend_extension = \ext\php_xdebug.dll Далее ставим плагин для firefox &#8211; Xdebug Helper, настройка всего инструментария &#8211; в базе знаний Google Работа с Xdebug под Eclipse ещё про установку и настройку xdebug, Профилирование с Xdebug на habrahabr. Самое основное &#8211; параметр в php.ini xdebug.profiler_enable_trigger=On [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xdebug.org/docs/install">Установка</a><br />
<a href="http://www.xdebug.org/download.php">Скачать</a><br />
После помещения библиотеки в папку с расширениями в <em>php.ini</em> надо написать</p>
<pre class="code">
zend_extension = <путь-к-php>\ext\php_xdebug.dll
</pre>
<p>Далее ставим плагин для firefox &#8211; <a href="https://addons.mozilla.org/ru/firefox/addon/3960">Xdebug Helper</a>, настройка всего инструментария &#8211; <a href="http://code.google.com/p/syslogr-utils/wiki/XdebugHelper">в базе знаний Google</a><br />
<a href="http://www.phpeclipse.com/wiki/Howto/XDebugAndPHPEclipse">Работа с Xdebug под Eclipse</a><br />
ещё про установку и <a href="http://www.ibm.com/developerworks/ru/library/os-php-xdebug/index.html">настройку xdebug</a>,<br />
<a href="http://habrahabr.ru/blogs/php/31468/">Профилирование с Xdebug на habrahabr</a>.<br />
Самое основное &#8211; параметр в php.ini</p>
<pre class="code">
xdebug.profiler_enable_trigger=On
</pre>
<p>В итоге у меня получилось (php5.3)</p>
<pre class="code">
zend_extension = путь-к-php53\ext\php_xdebug.dll
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=default

;xdebug.dump_once = On
;xdebug.dump_globals = On
;xdebug.dump_undefined = On
;xdebug.dump.REQUEST = *
;xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT

xdebug.profiler_enable=Off
xdebug.profiler_output_dir="c:\traces"
xdebug.profiler_enable_trigger=On
xdebug.profiler_output_name = cachegrind.out.%t.%p
</pre>
<p>Теперь достаточно передать в GET-параметре <em>?XDEBUG_PROFILE</em> (вот как раз тут полезен XdebugHelper &#8211; там это можно включить для определённого сайта).<br />
<a href="http://tigor.com.ua/blog/2008/07/21/php-profiler-debugger-xdebug/">много ссылок на полезные статьи</a>.<br />
<a href="http://code.google.com/p/webgrind/">Инструмент для анализа логов Xdebug</a> от создателя.</p>
<p><a href="http://forums.netbeans.org/post-9585.html"><strong>Дебаг проекта</strong> через NetBeans совместно с XdebugHelper</a>:<br />
запустить отладчик в NetBeans и затем нажать кнопку &laquo;run&raquo; (это NetBeans заставит слушать Xdebug), а затем открыть сайт с активированным на нём XdebugHelper&#8217;ом.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.job-blog.bullgare.ru/2009/09/%d0%bf%d1%80%d0%be%d1%84%d0%b8%d0%bb%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-php-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b0-xdebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

