繁体   English   中英

Windows Vista下Apache下使用FastCGI for PHP时如何连接MySQL

[英]How to connect to MySQL when using FastCGI for PHP under Apache on Windows Vista

我将 PHP 配置为使用 Apache mod_fcgid。 PHP 正在运行,但在配置更改后,我无法通过 PHP 连接到 MySQL。 如何解决这个问题?

要检查 MySQL 连接,我使用以下 PHP 代码:

error_reporting(E_ALL);

$link = mysql_connect('127.0.0.1', 'root', 'password_here');
if (!$link) {
    die('Could not connect. Error message: <' . mysql_error() . '>');
}
echo 'Connected successfully';

mysql_error()返回的错误信息为空。

我在 Apache 中使用以下配置:

LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>  
AddHandler fcgid-script .fcgi .php  
DefaultInitEnv PHPRC "C:/Program Files/php5"
DefaultInitEnv PHP_FCGI_MAX_REQUESTS      1000  
MaxRequestsPerProcess       1000  
MaxProcessCount 15
IPCCommTimeout 120
IdleTimeout 120
FCGIWrapper "C:/PROGRA~1/php5/php-cgi.exe" .php  
AddType application/x-httpd-php .php  

DefaultInitEnv PATH "C:/PROGRA~1/MYSQL/MYSQLS~1.0/LIB/OPT;C:/PROGRA~1/APACHE~1/APACHE2.2/BIN;C:/WINDOWS/system32;C:/WINDOWS"
</IfModule>  

PHP 5.3.1、Apache/2.2.14 (Win32)、MySQL 5.0.67-community-nt、Windows Vista Home Premium Service Pack 1。我从http://www.apachelounge.com/download/mods下载了 mod_fcgid 的二进制文件/mod_fcgid-2.2b-w32.zip

编辑:

我使用phpinfo()来比较配置。 Loaded Configuration File ”对于有和没有mod_fcgid都是一样的。 两个配置的mysql部分是相同的。 我发现打开 mod_fcgid 时 Environment 部分只包含 FastCGI 相关变量(仅 4 个项目),而没有 mod_fcgid - 更多。

编辑:

我收到以下警告:

警告:mysql_connect() [function.mysql-connect]:在 E:\\ ... \\testphp\\mysql.php 第 7 行

编辑

mysql 的错误日志在mysql_connect()上没有任何错误。

你确定Warning: mysql_connect() [function.mysql-connect]: in E:\\ ... \\testphp\\mysql.php on line 7
是完整的错误吗? 因为那是不寻常的,它应该说明那里出了什么问题。
另外请检查您的 mysql 服务器的日志文件是否有任何异常并将它们张贴在这里。 mysql 错误日志文档。

您是否尝试过运行php_info()来查看 mysql 模块是否存在并为您的 CGI 进行了配置? CGI 和其他启动方法的ini配置可能不同。

遇到了同样的问题并以这种方式解决了它:

  1. 编辑 cgi 版本的 php.ini 文件 (vi /etc/php5/cgi/php.ini)
  2. 添加以下行:extension=mysql.so
  3. 重启你的 Apache( service apache2 reload AND /etc/init.d/apache3 restart

暂无
暂无

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

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