PHP 5.6.30 ( https://www.apachefriends.org/de/download.html ) を PHP 7.0 ( https://bitnami.com/stack/wamp/installer )にアップグレードしました。
これまでのところすべてうまくいき、MySQL データベースを使用すると、ページからの読み込み時間が 1.2 秒から 300 ミリ秒に短縮されました。しかし今、次の簡単なスクリプトを使用して MSSQL データベースに接続しようとしています。これは、古いインストール (PHP 5.6) で正常に機能しました。
<?php
//Use the machine name and instance if multiple instances are used
$server = 'Server-Adress';
$user = '';
$pass = '';
//Define Port
$port='Port=1433';
$database = 'Databasename';
$connection_string = "DRIVER={SQL Server};SERVER=$server;$port;DATABASE=$database";
$conn = odbc_connect($connection_string,$user,$pass);
if ($conn) {
echo "Connection established.";
} else{
die("Connection could not be established.");
}
$sql = "SELECT * FROM st3_200 WHERE identifier = 1";
$result = odbc_exec($conn,$sql);
// Get Data From Result
while ($data[] = odbc_fetch_array($result));
// Free Result
odbc_free_result($result);
// Close Connection
odbc_close($conn);
// Show data
print_r($data);
?>
しかし、ログに次のようなエラーが表示されました。
[Thu Dec 10 11:55:26.629956 2015] [:error] [pid 260:tid 968] [client ::1:63003] PHP 致命的なエラー: キャッチされていないエラー: C:\Bitnami\ の未定義関数 odbc_connect() の呼び出しwampstack-7.0.0-0\apache2\htdocs\test\query.php:11\nスタック トレース:\n#0 {main}\n C:\Bitnami\wampstack-7.0.0-0\apache2\htdocs でスローされます11 行目の \test\query.php
最初に、私の php.ini に拡張子がないと思ったので、「extension=php_pdo_odbc.dll」を有効にしました
5.6 バージョンの php.ini との違いは、拡張機能「extension=php_mssql.dll」が有効になっていることです。しかし、新しい PHP 7.0.ini でそれらを見つけることができません
私の意図は、odbc と PHP 7 用の既存のドライバーがまだないということですか? ここで Linux 用のドライバーを見つけました: https://aur.archlinux.org/packages/php7-odbc/
しかし、Windows 環境には何かが必要です。
誰かが同じ問題を抱えていて、すでにそれを修正していますか?
ありがとうと挨拶 ドミ