リモートSQLServerに接続するPHPスクリプトがあります。ルートとしてのコマンドラインから、freetdsコマンドを呼び出すことができます:tsql –H hostname –U usernameこれは非常にうまく接続され、クエリを実行できます。
/var/www/html/axis/public/test.phpにPHPスクリプトがあります。次の場合:sudo –u apache –s(ユーザーをrootからapacheに変更)、コマンドラインからPHPスクリプトを実行します。接続してクエリを実行します。ただし、Webブラウザから同じスクリプトを実行すると、失敗します。ブラウザはDB接続エラーを返します。Webブラウザーは、想定されているすべての場所に接続でき、SQL接続を必要としないすべてのWebページをレンダリングします。
apacheは、httpdを実行しているユーザーです。私はこれを次の方法で確認しました:ps aux | grep apache
apacheがコマンドラインからPHPスクリプトを正常に実行できる理由についてのアイデアはありますが、ブラウザーがまったく同じスクリプトに接続しようとすると失敗しますか?
ありがとう、デリック