sql >> データベース >  >> RDS >> Sqlserver

PHP 5.3 が MS SQL に接続するネイティブ クライアントを認識しない

    許可の問題であることが判明しました。

    php.ini でオプション fastcgi.impersonate を 0 に変更し、別のアプリケーション プール ID で試しました。ローカルシステムとして機能しました。これは、Network Service または Local Service アカウントよりも多くのユーザー権限を持つアカウントです。ただし、ユーザー権限が強化されたアカウントでアプリケーション プールを実行すると、セキュリティ リスクが高くなることに注意してください。アカウントと構成方法の詳細については、次の記事をご覧ください:

    構成IIS 6.0 でのアプリケーション プール ID (IIS 6.0) サービス ユーザー アカウント サービスのセキュリティとアクセス権

    Network Service に戻すことにし、Process Monitor * をダウンロードしました。次に、それを使用してプロセス w3wp を監視したところ、sqlncli.dll へのパスが保存されているレジストリ キーでアクセスが拒否されていることがわかりました。

    HKLM\Software\ODBC\ODBCINST.INI\SQL ネイティブ クライアント 10.0

    そこで、RegEdit を開いてそのキーを見つけました

    右クリック -> [アクセス許可] を実行し、ネットワーク サービスをリストに追加して、読み取りアクセス許可を付与しました。

    アプリケーション プールをリサイクルし、動作するようになりました!

    これがお役に立てば幸いです!フェデリコ

    *プロセス モニターの使用方法に関する非常に優れたステップ バイ ステップの記事がここにあります。

    http://www.iislogs.com/articles/processmonitorw3wp/



    1. SQLの標準偏差コマンド

    2. phpMyAdminをインストールする方法

    3. PostgreSQLデータソースをWildFly9.0に追加するにはどうすればよいですか?

    4. MySQL:特定のパラメータを含み、1日より古い行を削除します