简体   繁体   English

IBM HTTP Server(Apache2)错误

[英]IBM HTTP Server (Apache2) error

I have configured IBM HTTP Server as follow: 我已将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>

I get the following errors: 我收到以下错误:

[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

What is wrong with my http.conf? 我的http.conf有什么问题?

It looks like you have a hybrid/partial config of multiple ways to configure fastcgi. 看来您具有多种配置Fastcgi的混合/部分配置。

In the era of mod_fastcgi (IHS 8.5.5 and earlier), you'd typically see the "Action" directive here which results in a request for foo.php to be passed to the PHP interpreter as an argument. 在mod_fastcgi时代(IHS 8.5.5和更早版本),您通常会在此处看到“ Action”指令,该指令导致将foo.php的请求作为参数传递给PHP解释器。

Since you don't have action, and your SetHandler does not limit to any particular extension, mod_fastcgi tries to invoke your php script directly as an executable. 由于您没有操作,并且SetHandler不受任何特定扩展名的限制,因此mod_fastcgi尝试直接将php脚本作为可执行文件调用。 On Windows, this association of what intepreter to use is the global one of the OS. 在Windows上,使用的解释器的这种关联是操作系统的全局之一。

If you stick with mod_fastcgi, I'd suggest using the boilerplate examples with Action you see everywhere. 如果您坚持使用mod_fastcgi,建议您将随处可见的样例示例与Action配合使用。 But there's no reason to torture yourself with this when even IHS 9 has mod_proxy_fcgi and you could instead configure that and php-fpm instead. 但是,即使IHS 9都具有mod_proxy_fcgi,也没有理由用这种方式来折磨自己,而可以改为配置它和php-fpm。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM