9

Linux ボックスで PHP 経由でリモート Microsoft SQL Server に接続する最良の方法は何ですか。

PHP は、Linux ボックスでのみ実行されます。

私はしばらくの間、最も簡単な答えを探していました。

4

6 に答える 6

16

5.6 ペソ

Ubuntu

sudo apt-get install php5.6-sybase freetds-common libsybdb5

AWS/Centos/Redhat

sudo yum install php56-mssql

その後、次のような方法で PHP を介して MsSql データベースに接続できます。

<?php
$server = 'localhost';
$user = 'someUser';
$pass = 'somePassword';
$database = 'theDatabaseName';

try {
    $pdo = new \PDO(
        sprintf(
         "dblib:host=%s;dbname=%s",
         $server,
         $database
        ),
         $user,
         $pass
    );
     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
     echo "There was a problem connecting. " . $e->getMessage();
}

$query = "SELECT * FROM TestSchema.Employees";
$statement = $pdo->prepare($query);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);

var_dump($results);

コマンド ラインで次のような方法で MsSQL のトラブルシューティングを行うことができます。

tsql -H your.server.name -p 1433 -U yourusername -P yourpassword -D yourdatabasename

tsql をインストールするには、次を実行します。

任意の PHP バージョンでテストするための SQL バイナリのインストール

sudo apt install freetds-bin

ペソ7+

Microsoft には、使用できるネイティブ ドライバーがあります。完全な手順はこちら (Redhat / Ubuntu / その他)にあります。

このリンクには、Ms SQL サーバーを開発マシンにインストールするために必要な手順も含まれています (Ubuntu では動作しますが、AWS では動作しませんが、そこで RDS インスタンスをスピンアップすることができます)。また、データベースにテスト テーブルとデータを作成する方法に関する基本的な手順と、PHP 接続コードも含まれています。

次のように、新しいバージョンの PHP のコンポーネントをインストールすることもできます。

sudo apt-get install php7.2-sybase freetds-common libsybdb5
于 2016-12-14T03:16:54.897 に答える
5

試してください:Ubuntuの場合

sudo apt-get install php5-sybase php5-odbc freetds-common

freetds.conf を編集し、MSSQL サーバーをこの PHP に接続します。

于 2016-04-03T14:15:46.507 に答える
5

Linux に php 用の mssql ドライバーをインストールする必要があります。
これはあなたにとって最高のチュートリアルです。

于 2013-02-19T11:27:58.920 に答える
-1

php用のMicrosoftからsqlsrv拡張機能を取得しますhttp://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

于 2013-02-19T13:00:04.610 に答える