標籤:io os sp 檔案 資料 on cti ad ef
環境:
Windows server 2003 x64
Apache 2.2.14
mod_fcgid-2.2b-w32.zip
PHP VC9 x86 Non Thread Safe(用Visual C++ 2008 Redistributable Package x86來編譯的)
我用下面的配置能使FASTCGI啟動:
LoadModule fcgid_module modules/mod_fcgid.so
<Directory "C:/www">
AllowOverride None
Order allow,deny
Options FollowSymLinks ExecCGI
AddHandler fcgid-script .php
FCGIWrapper "c:/php/php-cgi.exe" .php
Allow from all
</Directory>
<IfModule mod_fcgid.c>
IPCCommTimeout 40
IPCConnectTimeout 10
MaxProcessCount 8
OutputBufferSize 64
ProcessLifeTime 240
MaxRequestsPerProcess 500
</IfModule>
但會發生下面的一些錯誤:
1、echo gethostbyname(‘google.com‘);
上面只會返回"google.com"而不是正常返回的IP。
2、$connection1=mysql_connect("localhost",‘root‘,‘password‘);
上面這個會報錯 mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:/www/test.php on line 11
這是因為FASTCGI未取到環境變數的原因,解決辦法是在Apache設定檔增加如下語句:
DefaultInitEnv PATH "PHP程式目錄;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
DefaultInitEnv SystemRoot "C:/Windows"
DefaultInitEnv SystemDrive "C:"
DefaultInitEnv TEMP "C:/WINDOWS/Temp"
DefaultInitEnv TMP "C:/WINDOWS/Temp"
DefaultInitEnv windir "C:/WINDOWS"
Windows中APACHE開啟fastcgi後無法串連資料庫