似たような質問がありましたが、FreeTDSなどの特別なパッケージをインストールするためにサーバにアクセスすることで解決します。私たちはlinux serverが1と1でホストされているので、このようなアクセスはありません。ホストされたlinuxからリモートMSSQLサーバにアクセスするPHP
(ここでは上の他の誰かによって、以前の質問から)私のコードは次のとおりです。
try {
$hostname = "xx.xx.xx.xx";
$port = xxxxx;
$dbname = "ClientDatabase";
$username = "uuuu";
$pw = "pppp";
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$stmt = $dbh->prepare("select name from master..sysdatabases where name = db_name()");
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
}
unset($dbh); unset($stmt);
私が取得エラーメッセージは次のとおりです。
Failed to get DB handle: could not find driver
私は機能を追加することができますので、MSSQLサーバーがアクセス可能です必要に応じてそれに追加します。 MSSQLサーバもIIS7を実行していますが、PHPは実行していません。 IIS7についてはほとんど分かりませんが、ホストされているLinuxボックスではなくPHPスクリプトを実行する方が簡単でしょうか?
とにかく実際にMSSQLサーバーに接続できるかどうかアドバイスできますか?事前に
おかげで、
デイブ
私は感謝 mssql_connectは、PHP 5.4 に廃止されていることを信じて、その$ DBH =新しいPDO( "DBLIBようです"、" $ username "、" $ pw ");次のようになります。 $ dbh = new PDO( "sqlsrv:Server = $ hostname:$ port; Database = $ dbname"、 "$ username"、 "$ pw"); まだ動作していませんが、前進しています。 – demsley