2017-03-06 19 views
0

おはようございます、 PHP 7.0.13とApache 2.2でCentOSサーバーを構築しましたが、それをテストする際に最も奇妙なことが起こっています。 コマンドラインではうまく動作するカールスクリプトを用意していましたが、ブラウザを介して呼び出されたときには、少し調べた後、ブラウザを使ってファイルに書き込むこともできませんでしたが、問題はありませんそれはコマンドラインで何でもすることができます。ブラウザやコマンドラインでphpが異なって実行されています

私はこの問題が2つの異なるphp.iniファイルにあると仮定しましたが、phpinfoを確認した後、CLとブラウザの両方が同じものをロードしていて、すべての拡張が正しくロードされているように見えました。 get_current_user()を使用して、同じユーザーが両方を実行していることを確認することもできます。私は問題がApacheにあると想定していますが、何が原因か分かりません。

誰かが問題を解決する方法を指摘できますか?私はこの点以降、何をすべきか分かりません。

+0

あなたの端末を使って作業していることが多いですが、よくあなたがあなたのユーザを変更した場合を除き、通常は 'www-data'ユーザと呼ばれる通常の特権ユーザを使って作業しているapache2サーバ内で行います。 dirの許可。ただし、完全なコード例を提供した方が良いでしょう。 – hassan

+0

あなたはまったく正しいですが、カールまたはフォッペンのいずれかが失敗しているが、それはスクリプトを実行している別のユーザーが原因であったため、正直言ってコードは無関心です。 get_current_user()は、実行者ではなくスクリプトの所有者を指定します。スクリプトを実行しているユーザーを調べるには、次のようにします。exec( 'whoami'); –

答えて

0

ハッサンは、問題はユーザーがスクリプトを実行していることを示していました。

get_current_user()はスクリプトを実行しているユーザーを示していますが、ファイル所有者を示しています。

同様の問題があり、誰がスクリプトを実行しているか把握する必要がある場合は、exec( 'whoami')を使用します。代わりに。

EDIT:それはエラーの1つでしたが、主なエラーは、完全に動作するスクリプトを無効にするとすぐに、SELinuxがアクティブになったという事実にありました。

関連する問題