<?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>AjaxBlog &#187; Xdebug</title>
	<atom:link href="http://ajaxblog.ru/tag/xdebug/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxblog.ru</link>
	<description>ajax, javascript, css, php</description>
	<lastBuildDate>Tue, 14 Jun 2011 19:37:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>[Denwer, Xdebug , Notepad++] &#8211; полноценная среда разработки</title>
		<link>http://ajaxblog.ru/92</link>
		<comments>http://ajaxblog.ru/92#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:38:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Xdebug]]></category>
		<category><![CDATA[Инструмент разработчика]]></category>

		<guid isPermaLink="false">http://ajaxblog.ru/?p=92</guid>
		<description><![CDATA[Существует много хороших редакторов кода для PHP, я выбрал для себя Notepad++. Что-бы не разводить &#171;религиозные войны&#187; я перечислю те свойство редактора которые важны для меня: Скорость работы редактора Малый размер и возможность работы с флешки Подсветка текста и возможность &#8230; <a href="http://ajaxblog.ru/92">Далее, еще интереснее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="float: right;" title="Найдите ошибки в PHP-приложениях при помощи Xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-logo.png" alt="Найдите ошибки в PHP-приложениях при помощи Xdebug" width="200" height="116" /><br />
Существует много хороших редакторов кода для PHP, я выбрал для себя <a href="http://notepad-plus.sourceforge.net/ru/site.htm">Notepad++</a>.<br />
Что-бы не разводить &laquo;религиозные войны&raquo; я перечислю те свойство редактора которые важны для меня:</p>
<ol>
<li>Скорость работы редактора</li>
<li>Малый размер и возможность работы с флешки</li>
<li> Подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования</li>
<li>Авто-завершение набираемого слова</li>
<li>Одновременная работа с множеством документов</li>
<li>Одновременный просмотр нескольких документов</li>
<li>Динамическое изменение окон просмотра</li>
<li>Автоматическое определение состояния файла</li>
<li>Поддержка большого количества языков</li>
<li>Выделение скобок при редактировании текста</li>
</ol>
<p>Всем хорош редактор, вот только нету в нем полноценной отладки кода &#8211; думал я, и был не прав.</p>
<p>Оказываетесь для него есть плагин <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=236520" target="_blank"><strong>DBGP plugin</strong></a>, который превращает Notepad++ в полноценную php IDE.</p>
<p>Дальше расскажу как &laquo;подружить&raquo; между собой Denver + Xdebug + Notepad++</p>
<p><span id="more-92"></span></p>
<ol>
<li>Скачиваем <a href="http://www.denwer.ru/dis/Base/latest?from=index">Денвер</a> и устанавливаем у себя на компьютере, все просто. Для тех кто это делает первый раз, <a href="http://www.denwer.ru/base.html">инструкция</a>.</li>
<li>Скачиваем <a href="http://notepad-plus.sourceforge.net/ru/site.htm">Notepad++</a> и инсталлируем его.</li>
<li>Запускаем Денвер в браузере набираем <em>http://localhost/Tests/PHP5/index.php5</em> и смотрим версию php, у меня 5.2.4</li>
<li>Скачиваем <a href="http://pecl4win.php.net/ext.php/php_xdebug.dll">Xdebug</a>, обратите внимание нужно скачать dll нужной версии под конкретную версию php</li>
<li>Скаченую dll помещаем в папку <strong>путь</strong>\usr\local\php5\ext\, где <strong>путь</strong> (у меня <em>C:\WebServers</em>) -диск и папка куда вы установили свой Денвер</li>
<li>В файле <strong>путь</strong>\usr\local\php5\php.ini дописываем следующие строчки
<pre>
extension=php_xdebug.dll

zend_extension_ts = C:\WebServers\usr\local\php5\ext\php_xdebug.dll 

xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.auto_trace = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode=req
xdebug.idekey=default

xdebug.profiler_enable  = 1
xdebug.profiler_output_dir = C:\T\xdebug_prof\</pre>
<p>Обратите внимание, что  <em>C:\WebServers</em> &#8211; нужно заменить на вашпуть, а<br />
<em>C:\tmp\xdebug_prof\</em> &#8211; на папку где будет хранитьса ваши профайлы.<br />
<strong><br />
Замечание:</strong> в название путе лучше отказаться от использование не латинских букв и спецсимволов.</li>
<li>Перезагружаем Денвер, в браузере набираем http://localhost/Tests/PHP5/index.php5 и смотрим<br />
<img class="alignnone size-full wp-image-94" title="zend-with-xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/zend-with-xdebug.gif" alt="" width="490" height="80" /><br />
<img class="alignnone size-full wp-image-95" title="apache-xdebug" src="http://ajaxblog.ru/wp-content/uploads/2008/07/apache-xdebug.gif" alt="" width="315" height="370" /><br />
если вы это увидели. то вы все сделали правильно, если нет, еще раз перечитайте пункты выше.</li>
<li>Практически вы уже получили сильный инструмент в своей работе программиста.<br />
<img class="alignnone size-full wp-image-96" title="deep" src="http://ajaxblog.ru/wp-content/uploads/2008/07/deep.jpg" alt="" width="485" height="220" /><br />
Вот очень хорошая статья <a href="http://www.ibm.com/developerworks/ru/library/os-php-xdebug/index.html">&laquo;Найдите ошибки в PHP-приложениях при помощи Xdebug&raquo;</a>, о том как это расширение увеличивает ваш возможности поиска ошибок.<br />
Но наша цель IDE &#8211; продолжаем идти к ней&#8230;</li>
<li>Скачиваем <a href="http://sourceforge.net/project/showfiles.php?group_id=189927&amp;package_id=236520" target="_blank"><strong>DBGP plugin</strong></a> и устанавливаем его в папочку <em>C:\Program Files\Notepad++\plugins\</em> (ну или куда вы установили Notepad++)<br />
<img class="alignnone size-full wp-image-97" title="dbgpplugin-notepad" src="http://ajaxblog.ru/wp-content/uploads/2008/07/dbgpplugin-notepad.gif" alt="" width="362" height="426" /></li>
<li>Залускаем Notepadd++, заходим Дополнение&gt;&gt;DBGp&gt;&gt;Config<br />
<img class="alignnone size-full wp-image-98" title="dbgp-configuration" src="http://ajaxblog.ru/wp-content/uploads/2008/07/dbgp-configuration.gif" alt="" width="500" height="436" /><br />
<strong>Замечание</strong>: после home должна идти имя папки, где лежат скрипты которые вы собираетесь дебажить</li>
<li>После этого вроде вроде все должно работать, но у меня так и неполучилось стартовать debug сессию. Но не беда нас выручить плагин для ФФ -<a href="https://addons.mozilla.org/ru/firefox/addon/3960">Xdebug Helper</a>. Заходим по сылочки и устанавливаем в своем браузере.<br />
<img class="alignnone size-full wp-image-99" title="xdebug-helper" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-helper.png" alt="" width="165" height="138" /></li>
<li>Ну вроде и все. Как все это работаем:
<ul>
<li>открываем файл со скриптом в Notepad++</li>
<li>ставим точку остановки</li>
<li>запускаем браузер с url &#8211; нашего проекта</li>
<li>активизируем Xdebug session &#8211; кликом по иконки (если она не активизирована)<br />
<strong>Замечание:</strong> после активизации сессии, нужно перегрузить страничку (F5)</li>
<li>Вываливаемся в Notepad++ и начинаем пошагово дебажить код <img src='http://ajaxblog.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><img class="alignnone size-full wp-image-100" title="xdebug-dbgp-notepad" src="http://ajaxblog.ru/wp-content/uploads/2008/07/xdebug-dbgp-notepad.gif" alt="" width="449" height="348" /></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ajaxblog.ru/92/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

