<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Гайдар Магдануров : Interop</title><link>http://blogs.msdn.com/gaidar/archive/tags/Interop/default.aspx</link><description>Tags: Interop</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>PHP на Windows. Установка и настройка модуля FastCGI на IIS7.</title><link>http://blogs.msdn.com/gaidar/archive/2008/05/04/8457960.aspx</link><pubDate>Sun, 04 May 2008 11:56:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8457960</guid><dc:creator>gaidar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/gaidar/comments/8457960.aspx</comments><wfw:commentRss>http://blogs.msdn.com/gaidar/commentrss.aspx?PostID=8457960</wfw:commentRss><description>&lt;p&gt;Если у вас у IIS7, то что-то мне подсказывает о названии вашей операционной системы - Windows Vista? Не угадал, тогда Windows Server 2008! Либо вы хакер и поставили IIS7 еще-куда-то, но это нестандартное решение и мы его не поддерживаем ;).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Шаг 1. Установка FastCGI&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Хочу обрадовать сразу - в IIS7, идущем с Windows Server 2008 и Windows Vista Service Pack 1 модуль FastCGI уже включен. Его необходимо лишь подключить в настройках. Для этого на Vista нужно открыть Control Panel -&amp;gt; Programs и выбрать "Turn Windows Features On or Off":&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/ControlPanel%20-%20Programs_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="222" alt="ControlPanel - Programs" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/ControlPanel%20-%20Programs_thumb.jpg" width="196" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;После этого необходимо установить фичу в IIS: Internet Information Services -&amp;gt; World Wide Web Services -&amp;gt; Application Development Features -&amp;gt; CGI. При этом будет установлена поддержка и CGI и FastCGI.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/IIS_CGI_Feature_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="254" alt="IIS_CGI_Feature" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/IIS_CGI_Feature_thumb.jpg" width="290" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;На Windows Server 2008 процесс аналогичен: Server Manager -&amp;gt; Roles -&amp;gt; Add Role Services -&amp;gt; Web Server -&amp;gt; Application Development -&amp;gt; CGI.&lt;/p&gt; &lt;p&gt;Собственно все, что требуется для включения модуля FastCGI. Дальше необходимо приступить к конфигурации IIS7, полагая, что PHP уже установлен, как &lt;a href="http://blogs.msdn.com/gaidar/archive/2008/05/04/8457825.aspx"&gt;описано в моем предыдущем сообщении&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Шаг 2. Конфигурация IIS7&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;1. Открыть IIS Manager, выбрать узел (сервер) для которого нужно настроить поддержку PHP. И далее выбрать Handler Mappings.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/HandlerMappings_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="174" alt="HandlerMappings" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/HandlerMappings_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/HandlerMappingsOpened_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="174" alt="HandlerMappingsOpened" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/HandlerMappingsOpened_thumb.jpg" width="235" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;2. Выбираем на странице Handler Mappings ссылку Add Module Mapping и заполняем окно следующими значениями:&lt;/p&gt; &lt;p&gt;Request path: *.php (обработка всех файлов с расширением .php)&lt;br&gt;Module: FastCgiModule (модуль FastCGI)&lt;br&gt;Executable: C:\Web\PHP\php-cgi.exe (путь к PHP)&lt;br&gt;Name: PHP (имя для удобства)&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/PHPHandler_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="254" alt="PHPHandler" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/PHPHandler_thumb.jpg" width="295" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;После добавления этой настройки появится окно с вопросом о регистрации FastCGI приложения для этого обработчика. Подтверждаем.&lt;/p&gt; &lt;p&gt;Описанные выше действия привели к созданию в директории PhpSites следующего web.config файла:&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br&gt;&amp;lt;configuration&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.webServer&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;handlers&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="PHP" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Web\PHP\php-cgi.exe" resourceType="Unspecified" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/handlers&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.webServer&amp;gt;&lt;br&gt;&amp;lt;/configuration&amp;gt;  &lt;p&gt;Теперь можно переходить к проверке работоспособности PHP.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Шаг 3. Проверяем корректность настройки&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;В директории узла для которого мы сконфигурировали PHP создаем файл index.php:&lt;/p&gt; &lt;p&gt;&amp;lt;?  &lt;p&gt;phpinfo();  &lt;p&gt;?&amp;gt;  &lt;p&gt;И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и наша карма не испорчена, запрос будет корректно обработан:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/phpinfo_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="193" alt="phpinfo" src="http://blogs.msdn.com/blogfiles/gaidar/WindowsLiveWriter/PHPWindows.FastCGIIIS7_8883/phpinfo_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8457960" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/gaidar/archive/tags/Evangelism/default.aspx">Evangelism</category><category domain="http://blogs.msdn.com/gaidar/archive/tags/Interop/default.aspx">Interop</category></item><item><title>PHP на Windows. Установка и настройка PHP для использования с модулем FastCGI.</title><link>http://blogs.msdn.com/gaidar/archive/2008/05/04/8457825.aspx</link><pubDate>Sun, 04 May 2008 10:18:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8457825</guid><dc:creator>gaidar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/gaidar/comments/8457825.aspx</comments><wfw:commentRss>http://blogs.msdn.com/gaidar/commentrss.aspx?PostID=8457825</wfw:commentRss><description>&lt;p&gt;Я начинаю писать серию сообщений об установке и использовании PHP на Windows с модулем FastCGI. В этом сообщении я опишу процесс установки PHP. Согласитесь, логично установить PHP если есть желание его использовать.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Шаг 1. Скачать PHP&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;На сайте PHP.net нужно &lt;a href="http://www.php.net/downloads.php"&gt;скачать последную версию PHP для Windows&lt;/a&gt;. Для использования с FastCGI рекомендуется устанавливать версию PHP без контроля безопасности потоков, поскольку сам модуль FastCGI гарантирует, что выполнение происходит в одном потоке и поддержка контроля безопасности потоков в самом PHP привносит лишние проверки и блокировки, приводящие к значительному падению производительности. Поэтому выбираем &lt;a href="http://ie.php.net/get/php-5.2.6-nts-Win32.zip/from/a/mirror"&gt;Non-thread-safe Win32 binaries&lt;/a&gt; (версия 5.2.6 актуальна на момент написания этого сообщения)&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Стоит отметить, что веряим Non-thread-safe была разработана специально для работы с FastCGI на IIS (первый релиз был в версии 5.2.1) и использовать в других средах не рекомендуется. Кстати, начиная с версии 5.2.2 Zend серьезно работает над оптимизацией производительности PHP под Windows, что не может не радовать. Если сравнить версии 5.2.1 и 5.2.2, то разницу в скорости обработки запросов можно легко увидеть с помощью простого нагрузочного теста.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Шаг 2. Установка PHP&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Установка осуществляется совсем просто: поскольку мы скачали архив с исполнимыми файлами, достаточно развернуть этот архив (это .zip, поэтому с ним справится встроенные в оболочку Explorer архиватор). Например, установим PHP в директорию C:\Web\PHP.&lt;/p&gt; &lt;p&gt;В качестве базовой конфигурации воспользуемся рекомендованными установками: cделаем копию файла php.ini-recommended в php.ini в этой же директории и откроем его для редактирования, после чего пройдем файл сверху расскоментируя следующие строки, дабы обеспечить безопасность и совместимость с большинством PHP приложений:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;open_basedir = &lt;em&gt;директория, где размещены PHP приложения&lt;/em&gt;. &lt;br&gt;Указание директории ограничит права доступа к файлам PHP приложений только этой директорией. Удобно переопределять эту настройку в файлах конфиграции непосредственно для каждого приложения, однако не помешает установить эту настройку и указать корневую директорию всех PHP приложений. Например, C:\inetpub\PhpSites.  &lt;li&gt;cgi.force_redirect = 0 &lt;br&gt;По умолчанию установлено 1, но необходимо установить в 0, поскольку IIS контролирует безопасность выполнения PHP и в этой настройке нет необходимости. Более того, включение может привести к неожиданным результатам. При использовании с другими web-серверами на Windows эту настройку необходимо включить.  &lt;li&gt;cgi.fix_pathinfo = 1 &lt;br&gt;PHP будет устанавливать имя файла в переменной SCRIPT_FILENAME, если установить значение 0, то имя файла будет в переменной PATH_TRANSLATED, что может нарушить совместимость с большинством приложений.  &lt;li&gt;fastcgi.impersonate = 1; &lt;br&gt;FastCGI позволяет процессу имперсонироваться используя контекст клиента, вызывающего процесс. Этот механизм работает только под FastCGI/IIS, например на Apache на Windows это работать не будет.  &lt;li&gt;short_open_tag = On&lt;br&gt;Большинство приложений используют короткие теги &amp;lt;? ?&amp;gt;, поэтому будет не лишним включить их поддержку.  &lt;li&gt;display_errors = On&lt;br&gt;На время проверки и отладки PHP приложений на FastCGI стоит включить вывод сообщений об ошибках.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Шаг 3. Проверка работоспособности PHP&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Пока мы не сконфигурировали IIS, проверить работоспособность интерпретатора можно просто, например, выполнив команду c:\web\php\php.exe -info &amp;gt; c:\test.txt&lt;/p&gt; &lt;p&gt;В файле test.txt будет выведена информация о параметрах, используемых PHP.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8457825" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/gaidar/archive/tags/Evangelism/default.aspx">Evangelism</category><category domain="http://blogs.msdn.com/gaidar/archive/tags/Interop/default.aspx">Interop</category></item><item><title>Драйвер для SQL Server 2005 для PHP</title><link>http://blogs.msdn.com/gaidar/archive/2007/11/16/6294858.aspx</link><pubDate>Fri, 16 Nov 2007 12:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6294858</guid><dc:creator>gaidar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/gaidar/comments/6294858.aspx</comments><wfw:commentRss>http://blogs.msdn.com/gaidar/commentrss.aspx?PostID=6294858</wfw:commentRss><description>&lt;P&gt;В &lt;A class="" href="http://blogs.msdn.com/gaidar/archive/2007/11/15/6253827.aspx" mce_href="http://blogs.msdn.com/gaidar/archive/2007/11/15/6253827.aspx"&gt;предыдущем сообщении&lt;/A&gt; я написал как сделать так, чтобы PHP на Windows работал с приличной производительностью. Однако это еще не все, что поможет PHP приложениям чувствовать себя на платформе Microsoft уверенно. Еще одним шагом к этому является выпуск &lt;A class="" href="http://www.microsoft.com/sql/technologies/php/default.mspx" mce_href="http://www.microsoft.com/sql/technologies/php/default.mspx"&gt;драйвера SQL Server 2005 для PHP&lt;/A&gt;.&amp;nbsp;Драйвер обеспечит высокую производительность при доступе к данным в базе SQL Server и позволит использовать потоки в PHP для чтения больших объемов данных из баз SQL Server.&lt;/P&gt;
&lt;P&gt;У команды, выпускающей драйвер, &lt;A class="" href="http://blogs.msdn.com/sqlphp/" mce_href="http://blogs.msdn.com/sqlphp/"&gt;есть блог&lt;/A&gt;, где можно будет почерпнуть интересную информацию о разработке драйвера и его использовании в PHP. Комментарии и предложения можно оставлять&lt;A class="" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=87&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=87&amp;amp;SiteID=1"&gt; на форуме MSDN&lt;/A&gt; (на английском языке), либо, на русском языке, в комментариях к этому сообщению, а я передам их команде разработки драйвера.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6294858" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/gaidar/archive/tags/Evangelism/default.aspx">Evangelism</category><category domain="http://blogs.msdn.com/gaidar/archive/tags/Interop/default.aspx">Interop</category></item><item><title>PHP на IIS: FastCGI модуль для IIS 6.0</title><link>http://blogs.msdn.com/gaidar/archive/2007/11/15/6253827.aspx</link><pubDate>Thu, 15 Nov 2007 13:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6253827</guid><dc:creator>gaidar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/gaidar/comments/6253827.aspx</comments><wfw:commentRss>http://blogs.msdn.com/gaidar/commentrss.aspx?PostID=6253827</wfw:commentRss><description>&lt;P&gt;Поскольку все большее и больше разработчиков на PHP начинают размещать свои решения на платформе Microsoft и все чаще и чаще обращают свое&amp;nbsp;используют &lt;A class="" href="http://www.iis.net/" mce_href="http://www.iis.net/"&gt;Internet Information Server&lt;/A&gt;, мы в Microsoft не могли не ответить на возросший интерес. В связи с этим для IIS 5.1+ доступно решение, позволяющее&amp;nbsp;очень просто размещать PHP приложения на IIS&amp;nbsp;- &lt;A class="" href="http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Configuring-FastCGI-Extension-for-IIS6-0-and-IIS5-" mce_href="http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Configuring-FastCGI-Extension-for-IIS6-0-and-IIS5-"&gt;модуль FastCGI&lt;/A&gt;&amp;nbsp;(уточнения для IIS7 &lt;A class="" href="http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Using-FastCGI-to-host-PHP-applications-on-IIS7" mce_href="http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Using-FastCGI-to-host-PHP-applications-on-IIS7"&gt;в отдельной статье&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;FastCGI - это бесплатный модуль, задачей которого является поддержка повторного использования CGI процессов, что необходимо для достижения производительности PHP приложений на IIS сравнимой с производительностью на Apache.&lt;/P&gt;
&lt;P&gt;В настоящее время наши продуктовые группы занимаются тестированием популярных PHP приложений на Windows и в скором времени начнут публиковать подробные описания по установке и использованию этих приложений на IIS.&lt;/P&gt;
&lt;P&gt;Кстати, если вы размещаете или собираетесь разместить приложение PHP на IIS, то ресурс &lt;A href="http://www.iis.net/php"&gt;http://www.iis.net/php&lt;/A&gt;&amp;nbsp;именно для вас! Если еще нет, то посмотрите на возможности &lt;A class="" href="http://blogs.iis.net/mailant/archive/2007/09/24/windows-server-2008-rc0-available-now.aspx" mce_href="http://blogs.iis.net/mailant/archive/2007/09/24/windows-server-2008-rc0-available-now.aspx"&gt;IIS 7.0&lt;/A&gt; и&amp;nbsp;попробуйте&amp;nbsp;IIS в действии&amp;nbsp;&lt;A class="" href="http://virtuallabs.iis.net/" mce_href="http://virtuallabs.iis.net/"&gt;в виртуальной лаборатории&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6253827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/gaidar/archive/tags/Evangelism/default.aspx">Evangelism</category><category domain="http://blogs.msdn.com/gaidar/archive/tags/Interop/default.aspx">Interop</category></item></channel></rss>