首页 > 数据库技术 > 详细

Windows中APACHE开启fastcgi后无法连接数据库

时间:2014-11-26 15:38:22      阅读:386      评论:0      收藏:0      [点我收藏+]

环境:
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后无法连接数据库

原文:http://www.cnblogs.com/duanxz/p/4123068.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!