2016-07-16 1 views
1

私は検索して、答えを見つけるのにかなり時間をかけています。UbuntuのPHPは、コマンドラインからMSSQLの拡張子をロードしますが、Apacheを実行するときはロードしません。

私は、Turnkey LINUX、PHP Ver 5.6.23からUBUNTUをインストールしています。 mssql.soをコンパイルして有効にしているので、MSSQLサーバーに接続する必要があります。

私の簡単な接続PHPスクリプトはそうです:

$server = 'rslocal'; 

$connect = mssql_connect($server, 'sqluser', 'sqlpassword'); 

if (!$connect) { 
    echo 'can not connect'; 
} 

私はコマンドラインから上のPHPスクリプトを実行することができますし、それが成功しました。
また、私は、ブラウザからのApacheを通してそれを実行すると、それは私に 致命的なエラーを伝えるにFreeTDS TSQLユーティリティを実行し、コマンドラインから

をサーバーに接続して照会できます(未定義の関数mssql_connectに呼び出し)...

私は、php --ini(cli)とphpinfo(browser)の両方が同じiniファイルを使用していることを確認しました。

私はSELinuxを実行していないので、setboolコマンドはここでは関係ありませんが、SELinuxが問題を抱えている他の人たちの問題はまさに私と同じです。

セキュリティポリシーや、外部サーバーと通信したい機能の読み込みを拡張機能が停止しているという気持ちがありますが、私は立ち往生しています。

ご協力いただければ幸いです。

+0

phpinfo()にモジュールsqlsrvがまだありますか? –

+0

phpinfo()はMSSQLのサポートを報告しません。ブラウザで実行するのを止めているものは、phpinfo()もそれを表示するのを止めることだと思います。 –

+0

phpinfo()を表示できません。これはバグですか、それとも設定していますか? –

答えて

0

"答え"が見つかりました。このディストリビューションでは、Ubuntu 14.xのコマンド

sudo apachectl restart 

は、PHPをリロードするのに十分ではないようです。 php.iniの変更、特にextension = mssql.soの追加は、apache経由では適用されませんでした。これにより、Apacheを「ハード」に再起動してphp.iniの変更がどのようになるかという疑問が浮かび上がってきますが、これは別の質問です。私は再起動後に動作することに気付いただけです。

関連する問題