О Ч Е Н Ь С Т Р АН Н ОЕ поведение панели при конфигурировании FastCGI, почему то панель вроде и редактирует fciext.ini и вроде НЕТ!! при этом изменения вносимые в панели применяются к домену :) и все работает!!! Но только в пределах версий которые предлагает старый плеск 9.0Б а меня интересуют другие версии посему прошу без успокоительных рекоммендаций :) ставлю в параллель 5.4 отсюда и война. Кто может по делу помочь прошу помощи .......Вот видео по теме: http://youtu.be/1Vfc8zjDbD4
1. Приключение началось с решения проблемы которая выглядит приблизительно так:
после добавления версии PHP 5.3 на сервер (win 2k3 + iis6 + plesk 9.0.1) и соответственно, так как плеск не умеет понять наличие еще одного интерпретатора PHP (речь именно о версии plesk 9.0 но суть проблеммы глубже см. дальше).
В ручном режиме делаем следующее в plesk снимаем галку для нашего домена xxx.ua
Поддержка PHP [ ] Версия <5.2.6> (запустить как )
идем в файл C:\WINDOWS\system32\inetsrv\fcgiext.ini
и добавляем идентификатор сайта и расширение и устанавливаем соответствие с вызовом соответствующей версии интерпретатора PHP
после этих изменений конфигурация начинает выглядеть как:
====fcgiext.ini=========================================
[Types]
php:16107=php53
php5:16107=php53
php53:16107=php53
phtml:164107=php53
php:20186=Plesk_php5
php5:20186=Plesk_php5
phtml:20186=Plesk_php5
[Plesk_php5]
ExePath="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\php-cgi.exe"
[Plesk_php]
ExePath="C:\Program Files (x86)\Parallels\Plesk\Additional\Php\php.exe"
[php53]
ExePath="C:\Program Files (x86)\Parallels\Plesk\Additional\PHP53\php-cgi.exe"
EnvironmentVars=PHPRC:"c:\Program Files (x86)\Parallels\Plesk\Additional\PHP53\",PHP_INI_SYSTEM:"c:\Program Files (x86)\Parallels\Plesk\Additional\PHP53\"
PHP_INI_SYSTEM="c:\Program Files (x86)\Parallels\Plesk\Additional\PHP53\"
===========================================================
2. перезагружаем (hrad reset) сервер и получаем следующий ответ от сервера после обращения к домену
http://xxx.ua/1.php
Окно браузера chrom:
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
Could not find entry for "php" on site 16107 in [Types] section.
Error Number: 1413 (0x80070585).
Error Description: Invalid index.
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
где 1.php
<?php
phpinfo();
?>
а fcgiext.ini смотри выше.
рецепт собственно вот:
==========пост ArnaudT http://forum.parallels.com/showthread.php?t=102753==========...
Actually you need to keep the packaged PHP installs provided by Plesk untouched.
You can add some additional PHP versions in the C:\Program Files (x86)\Parallels\Plesk\Additional\.
Here is the procedure I am using:
- you create a folder named PHP535NTSVC9X64 (I named it to know exactly what type of build it is).
- unzip the build inside.
- add a php.ini (if it is PHP5.3, you might need to start over with a fresh configuration)
- pay attention to have the correct folders for extension. Mine is include_path=".;C:\Program Files (x86)\Parallels\Plesk\Additional\PHP534NTSVC9\pear ;./includes;./pear"
- add any compatible additional extension (like Wincache) in the ext folder.
- in your Plesk domain site, uncheck PHP support.
- in IIS7, go to the given site.com and click on Handler Mappings
- Click on the right, on Add Module Mapping
- Request path: *.php Module: FastCgiModule
- for the Executable: browse, look for php-cgi.exe and don't forget to add double quotes. For instance: "C:\Program Files (x86)\Parallels\Plesk\Additional\PHP535NTSVC9X64\p hp-cgi.exe"
- Name it clearly PHP_5_3_5_NTS_VC9_name_site
- When you click ok you got a message to create a FastCGI application for this executable, click on Yes.
- In IIS7, go to the server main node (right below Start Page).
- Click on FastCgi Settings
- Select the proper Full Path corresponding to your new PHP application and double click on it
- Set InstanceMaxRequests to 10000 instead of 200 (I am not sure why I still do that)
- At the same line, to the right of EnvironmentVariables, double click on (Collection)
- In the environmentVariables Collector Editor, create a variable
- Name: PHPRC Value: C:\Program Files (x86)\Parallels\Plesk\Additional\PHP535NTSVC9X64\ (that's your new PHP install path). The PHPRC env variable provides some information to where to find the php.ini file.
- Eventually restart the application pool linked to your domain, or restart the IIS service from the IIS7 main node. (not forcefully required)
- Place a phpinfo.php file containing <?php phpinfo(); ?> in your site web root
- Try to see if you can access it, and check out that all is ok and loaded.
I have more than 9 versions of PHP on my server. It works nicely. Still, you might need to be careful if you have several versions using the same application pool for several subdomains. Sometimes, mixing a PHP 5.2 32bit build with a PHP 5.3 64bit build causes issues. Though I just managed to have two PHP 5.3 x64 NTS builds working together on the same domain.
Note that you can also make the handler using a web.config in your web root.
I hope you will be able to make it.
Arnaud.
===========================================================================================================================
опущу моменты как и что я пробовал и подкручивал вот в финале выходит:::
3. Мистика:
а) шаг 1
Идем в панель Plesk (v.9.0)
и меняем для домена версию PHP на 5.2.6 и обработчик FASTCGI (запустить как ...)
Проверяем в режиме онлайн (тут же) наш сайт http://xxx.ua/1.php
PHP Version 5.2.6
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
System Windows NT QBERT-SERVER1 5.2 build 3790
Build Date May 2 2008 18:01:20
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\MICROS~2\VC98\MFC\LIB"
Server API CGI/FastCGI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\php.ini
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
б) шаг 2
меняем для домена версию PHP на 4.4.7 и обработчик FASTCGI (запустить как ...)
Проверяем в режиме онлайн (тут же) наш сайт http://xxx.ua/1.php
PHP Version 4.4.7
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
System Windows NT QBERT-SERVER1 5.2 build 3790
Build Date May 4 2007 13:29:21
Server API CGI/FastCGI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20050606
Debug Build no
Zend Memory Manager enabled
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
пока вреде бы мистики не видно одно но в файле C:\WINDOWS\system32\inetsrv\fcgiext.ini
НИКАКИХ ИЗМЕНЕНИЙ НИ ДО НИ ВОВРЕМЯ НИ ПОСЛЕ ВНЕСЕННЫХ ИЗМЕНЕНИЙ!!
опускаем танцы с бубном, и переходим к заключтельной фазе
-= удаляем все строки в конфигурационном файле C:\WINDOWS\system32\inetsrv\fcgiext.ini, тоесть не удаляем его из системы а физически удаляем все символы, оставляя размер файла =0 =-
для чистоты эксперимента перегружаем сервер физически,т.е. всю систему W2k3
а теперь самое непонятное:?
в) шаг 3, \волшебство начинается\
Проверяем в режиме онлайн (тут же) наш сайт http://xxx.ua/1.php
PHP Version 4.4.7
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
System Windows NT QBERT-SERVER1 5.2 build 3790
Build Date May 4 2007 13:29:21
Server API CGI/FastCGI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\php.ini
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
то есть система не замечает полное обнуление конфигурационного файла
хорошо, как версия, кэш длл и ее параметров (о существовании подобного механизма невкурсе :( фантастическая догадка ..)
ну да ладно идем дальше:
г) шаг 4, \уже не понятно\
Идем в панель Plesk (v.9.0)
и меняем для домена версию PHP на 5.2.6 и обработчик FASTCGI (запустить как ...)
Проверяем в режиме онлайн (тут же) наш сайт http://xxx.ua/1.php
PHP Version 5.2.6
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
System Windows NT QBERT-SERVER1 5.2 build 3790
Build Date May 2 2008 18:01:20
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\MICROS~2\VC98\MFC\LIB"
Server API CGI/FastCGI
Virtual Directory Support enabled
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
Возможно наш конфиг воскрес? плеск его восстановил по записям в БД плеска??? НЕТ , нет его по прежнему нет, тоесть он есть но пустой такой как я его оставил еще в начале эксперимента
4. Ладно я упрямый, ставим на сервере processmon.exe и начинаем смотреть что и кто и куда писал (да походу до этого были проверенны состояния реестра ничего кроме меток mysql не менялось)
о и ура после смены в панели плеск версии PHP для заданного домена я вижу нечто такое:
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
22:34:52,2901507 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCE.tmp SUCCESS Offset: 0, Length: 11 665
22:34:52,2914507 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCE.tmp FAST IO DISALLOWED Offset: 7 620, Length: 4 023
22:34:52,2914889 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCE.tmp SUCCESS Offset: 7 620, Length: 4 023
22:34:52,2939307 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 643
22:34:52,3341924 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCF.tmp SUCCESS Offset: 0, Length: 11 643
22:34:52,3363482 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCF.tmp FAST IO DISALLOWED Offset: 7 620, Length: 4 000
22:34:52,3374790 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFCF.tmp SUCCESS Offset: 7 620, Length: 4 000
22:34:52,4707947 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 620
22:34:52,4990569 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD0.tmp SUCCESS Offset: 0, Length: 11 620
22:34:52,5010909 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD0.tmp FAST IO DISALLOWED Offset: 7 620, Length: 3 976
22:34:52,5011518 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD0.tmp SUCCESS Offset: 7 620, Length: 3 976
22:34:52,6385906 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 596
22:34:52,6464287 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD1.tmp SUCCESS Offset: 0, Length: 11 596
22:34:52,6481271 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD1.tmp FAST IO DISALLOWED Offset: 11 417, Length: 200
22:34:52,6481919 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD1.tmp SUCCESS Offset: 11 417, Length: 200
22:34:52,6497440 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD1.tmp FAST IO DISALLOWED Offset: 11 554, Length: 61
22:34:52,6498010 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD1.tmp SUCCESS Offset: 11 554, Length: 61
22:34:52,7814694 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 617
22:34:52,7897814 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD2.tmp SUCCESS Offset: 0, Length: 11 617
22:34:52,7910199 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD2.tmp FAST IO DISALLOWED Offset: 11 438, Length: 201
22:34:52,7910612 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD2.tmp SUCCESS Offset: 11 438, Length: 201
22:34:52,7921242 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD2.tmp FAST IO DISALLOWED Offset: 11 576, Length: 61
22:34:52,7921606 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD2.tmp SUCCESS Offset: 11 576, Length: 61
22:34:52,9175045 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 639
22:34:52,9252871 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD3.tmp SUCCESS Offset: 0, Length: 11 639
22:34:52,9264226 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD3.tmp FAST IO DISALLOWED Offset: 11 460, Length: 202
22:34:52,9264640 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD3.tmp SUCCESS Offset: 11 460, Length: 202
22:34:52,9276718 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD3.tmp FAST IO DISALLOWED Offset: 11 599, Length: 61
22:34:52,9277307 websrvmng.exe 3988 WriteFile C:\WINDOWS\Temp\tmpFD3.tmp SUCCESS Offset: 11 599, Length: 61
22:34:53,0576331 websrvmng.exe 3988 WriteFile C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 662
-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-
тоесть согласно последней записи
C:\WINDOWS\system32\inetsrv\fcgiext.ini SUCCESS Offset: 0, Length: 11 662
конфигурационный файл есть, и не просто есть, а в нем целых 11 килобайт информации :)
+++ смотрим в систему по указанному пути ... наш старый знакомый - ЧИСТЫЙ НУЛЕВОЙ fcgiext.ini +++
===========================================================================================================
Подобная аномалия не позволяет дальше двигаться в направлении разделения конфигураций для PHP 5.2.6, 5.3, 5.4 в рамках этого сервера, да и сама аномалия вызывает острое желание разобраться в проблемме.
просьба прокомментировать проблемму с не изменяемым файлом конфигурации C:\WINDOWS\system32\inetsrv\fcgiext.ini