Apache2.2およびPHP5でのWindowsVistaシステムの使用。
さまざまな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");
}