1

PHP に別のサーバーへの curl 接続を実行させようとしています。サーバーに接続するには、プロキシを経由する必要があります。bash 内で、環境変数 http_proxy を設定しました。これは、コマンドラインから php スクリプトを使用しているときに正しく機能します。ただし、Apache から curl または wget を実行しようとすると、エラーなしで失敗します。サーバーは、Centos のデフォルトに基づいて SELinux で構成されています。SELinux の設定が不明なため、これは変更されていません。他の誰かに同様の問題がありましたか?

4

2 に答える 2

2

返事が遅くなってごめん。これは、Apache がネットワークへの呼び出しを実行するのを防止する SELinux に関係していました。Apache がこれを実行できるようにするには、次を実行する必要があります。

setsebool -P httpd_can_network_connect 1

その後、コマンドラインからスクリプトを実行する必要があり、適切な SELinux プロパティが見つからなかったため、無効にしてしまったという別の関連する問題が発生しました...まあ。

于 2011-01-18T17:20:47.373 に答える
0

「コマンドラインから実行」すると、Webサーバープロセスはおそらくあなたと同じユーザーの下では実行されず、おそらく同じシェル環境もありません。ただし、curl リクエストで明示的にプロキシ サーバーを構成することはできます。私がそれを正しく思い出せば、それは -x スイッチです。多くの引数を渡すこともできます。マンページを参照してください。wget はプロキシもサポートしていますが、設定したパラメーターについて確信が持てない限り、マンページも参照してください。

于 2010-11-29T19:05:40.110 に答える