Я настроил IBM HTTP Server следующим образом:
<IfModule mod_fastcgi.c>
Options Indexes MultiViews ExecCGI
FastCGIServer "c:/php7.1/php-cgi.exe"SetHandler fastcgi-script
</IfModule>
<Directory "C:/IBM/HTTPServer85/htdocs/public">AddHandler fastcgi-script .php
Options FollowSymLinks Indexes MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Я получаю следующие ошибки:
[Mon Jan 29 12:17:22 2018] [notice] Child 8328: Starting 600 worker threads.
[Mon Jan 29 12:17:22 2018] [notice] FastCGI: process manager initialized
[Mon Jan 29 12:17:22 2018] [warn] FastCGI: server "C:/php7.1/php-cgi.exe" started (pid 4636)
[Mon Jan 29 12:17:22 2018] [notice] Child 8328: Listening on port 443.
[Mon Jan 29 12:17:22 2018] [notice] Child 8328: Listening on port 8443.
[Mon Jan 29 12:17:24 2018] [error] [client 192.168.107.169] (OS 2)The system cannot find the file specified. : FastCGI: stat() of "C:/IBM/HTTPServer85/htdocs/public/login/" failed
[Mon Jan 29 12:17:24 2018] [crit] (OS 193)%1 is not a valid Win32 application. : FastCGI: can't start (dynamic) server "C:/IBM/HTTPServer85/htdocs/error/500/index.php": spawn_fs_process() failed
[Mon Jan 29 12:17:24 2018] [crit] [Mon Jan 29 12:17:24 2018] file G:\\blddir\\IHS85\\apache\\modules\\fastcgi\\fcgi_pm.c, line 1787, assertion "s->procs[i].pid < 0" failed
Что не так с моим http.conf?
Похоже, у вас есть гибридная / частичная конфигурация нескольких способов настройки fastcgi.
В эпоху mod_fastcgi (IHS 8.5.5 и более ранних версий) вы обычно видели здесь директиву «Действие», которая приводит к тому, что запрос для foo.php передается интерпретатору PHP в качестве аргумента.
Поскольку у вас нет действий, и ваш SetHandler не ограничивается
В любом конкретном расширении mod_fastcgi пытается вызвать ваш php-скрипт.
непосредственно как исполняемый файл. В Windows эта ассоциация того, что использует интерпретатор, является глобальной в ОС.
Если вы придерживаетесь mod_fastcgi, я бы предложил использовать стандартные примеры с Action, которые вы видите везде. Но нет причин мучить себя этим, когда даже IHS 9 имеет mod_proxy_fcgi, и вы можете вместо этого настроить его и php-fpm.
Других решений пока нет …