2017-09-25 5 views
0

PHPのバージョン7.0.22を使用して、pdo_dblibを使用してZendアプリケーション(バージョン1.11.11)をmssqlサーバーに接続しようとしています。私のPHPインストールでは、print(extension_loaded('pdo_dblib'));をターミナルで実行すると1が返ってくるので、pdo_dblibがあることを知っています。 .iniファイルでは、私が持っている:Zendがpdo_dblibをロードしない

resources.db.adapter = "pdo_mssql" 
resources.db.params.pdoType = "pdo_dblib" 

私は、デバッガでアプリケーションを実行すると、声明$a = extension_loaded('pdo_dblib');の値はfalseです。

この結果、PDO::getAvailableDrivers()にはpdo_dblib(当然)が含まれていないため、アプリケーションで例外がスローされます。

誰でもこの問題が発生する理由と解決方法を知っていますか?

+0

http://php.net/manual/en/pdo.installation.php拡張機能を有効にしましたか? Linuxの場合、 'php_pdo_mssql.so'のようなものになります – bassxzero

答えて

0

キーは、Zendではありませんが、あなたのテストの微妙な詳細に:私は、デバッガを使用してアプリケーションを実行すると

  • は、値を1
  • を返しの端末でprint(extension_loaded('pdo_dblib'));を実行しています$a = extension_loaded('pdo_dblib');の文章はfalse

端末のPHPは保証されていません同じマシンのWebサーバー上のPHPと同じ構成を持つことも、同じバージョンを使用することもできます。

WebサーバーのPHPコピーのphp.ini(または同等の機能)で拡張機能を有効にする方法については、ホスティング設定を調べる必要があります。あなたのアプリケーションで出力されたphpinfo()の出力ではなく、端末ではなく出力されます。

関連する問題