Php 7 VC14 x64スレッドセーフでsqlsrv dllの解決策を見つけるために一日中検索しましたが、解決策が見つかりませんでした。誰かがこの問題を解決しましたか?
[04-Oct-2015 19:48:05 UTC] PHP Warning: PHP Startup: pdo_sqlsrv: Unable to initialize module
Module compiled with module API=20131226
PHP compiled with module API=20141001
These options need to match
in Unknown on line 0
ここに私のphp7 RC4情報があります:
System Windows NT 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) AMD64
Build Date Sep 29 2015 17:15:28
Compiler MSVC14 (Visual C++ 2015)
Architecture x64
sqlsrvはまだPHP7に対応していませんが、2012年以降リリースされていません。最後のリリースは2015年5月からです。メンテナはMicrosoftで、PHP7のバージョンは来年の初めに計画されています。
https://github.com/Azure/msphpsql/issues/58
更新:
ドライバーはPHP Linuxでも現在7.1バージョンまで利用可能です(2017年3月))。
将来の参考のために(XamppおよびPHP 7.0.13を使用してWindows 7でテスト):
ダウンロードしてインストールODBCここにドライバ: https://www.Microsoft.com/en-US/download/details.aspx?id=36434
DLLこちらからダウンロードしてください(7.0。と7.1。の両方が見つかります): https://github.com/Microsoft/msphpsql/releases
"php.ini"ファイルを開き、 "extension_dir"行を探します。これにより、DDLファイルの配置場所がわかります。 注:Xamppでは、「C:\ xampp\php\ext 」
テスト用のコードサンプル:
$db = "the name of your database"
$password = "password";
$server = "IP address or named pipe";
$user = "username"
try {
$connection = new PDO(
"sqlsrv:Server=" . $server .
";Database=" . $db,
$password,
$user
);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $exception) {
var_dump($exception);
}