使用带有 Apache 2.2 和 PHP 5 的 Windows Vista 系统。
我有一个脚本可以测试与各种 ODBC 和 MySQL 数据库的连接。当脚本从浏览器窗口中加载的 Apache 运行时,它无法连接到任何远程 ODBC 或 MySQL 数据库。本地数据库工作正常。套接字连接也不起作用。
当我从命令提示符运行时,所有连接都正常。
在 ODBC 控制面板中测试连接时,它们也可以正常工作。我们网络上不同系统上的其他应用程序可以连接到这些数据库。
此外,我可以从远程位置的另一个系统上的 Windows 下安装的 Apache 提供的浏览器窗口运行此脚本。
Windows Apache 服务器系统禁用了防火墙,但它位于网络防火墙/代理之后。虽然由于脚本在命令行中工作,所以我认为它不是防火墙问题。
我已经看到了解决方案,但它们适用于 Linux 系统,我找不到任何适用于 Windows 机器的东西。
这可以是 php.ini 或 http.conf 文件中的一些设置吗?这是一些 Windows 设置吗?
这是代码
$lmSock = fSockOpen('www.server.com',80, $errno, $errstr, 30);
if(!$lmSock) {
echo("Can't open Remote socket<br />\n");
}
else {
echo("Remote Socket Success<br />\n");
}
$odbcConn = odbc_connect('remote.mysql','','');
if(!$odbcConn) {
echo("Cannot Connect To ODBC remote.mysql Server<br />\n");
}
else {
echo("ODBC remote.mysql Connection success<br />\n");
}
$odbcConn = odbc_connect('local.sql','','');
if(!$odbcConn) {
echo("Cannot Connect To ODBC local.sql Server<br />\n");
}
else {
echo("ODBC local.sql Connection success<br />\n");
}
$toyConn = odbc_connect('remote.sql','','');
if(!$toyConn) {
echo("Cannot Connect To ODBC remote.sql Server<br />\n");
}
else {
echo("ODBC remote.sql Connection success<br />\n");
}
$mysqlConn = mysql_connect('server.address','login','pass');
if(!$mysqlConn) {
echo("Cannot Connect To MYSQL server.address Server<br />\n");
}
else {
echo("MYSQL server.address Connection success<br />\n");
}