2017-08-29 10 views
0

自己に対するPHPリクエストの問題が発生しました。例では私が使用しますfile_get_contents()が、exec('wkhtmltopdf [*SELF*]')またはcurl()自己のPHPリクエスト

  • は私のサーバーexample.comの名前を付けることができますのために同じことが起こる
  • apache2のインストール
  • のFastCGI(複数のPHPのバージョン5.3、5.4、5.5、5.6、7.0)
  • 今私が持っている2つのダミースクリプト


第一スクリプト

//get-html.php 
file_get_contents('http://example.org/index.html') 

第二スクリプト

//get-php.php 
file_get_contents('http://example.org/index.php') 


テスト
1)コマンドライン:php get-html.php //成功
2)ブラウザ:example.org/get-html.php //成功

1)コマンドライン:php get-php.php //成功
2)ブラウザ:example.org/get-php.php // タイムアウト


私は次の

  • get-php.phpためdifferet PHPのバージョンを持っているsubdomain.example.org/index.phpのようなサブドメインを作成し、index.php
  • のための/ etcを改正しようとした何/ホスト
  • 他のサイト(google.comなど)でのリクエスト//成功
  • のfile_get_contents前session_write_close()()とのsession_start()の直後だから私の容疑者はmod_fastcgiのあるも

動作しません。それは、apacheが2つのインスタンスを実行してPHPリクエストを処理することができないようです。コマンドラインからスクリプトを実行すると、期待どおりに動作します。

誰にでもアドバイスがありますか?

+0

ダミースクリプトは完了していますか?セッションを使用しないでください(ブロックされている可能性もあります) – Mark

+0

良い点マーク。言及を忘れてしまった。私もsession_write_close()を試みました。 file_get_contents( 'http://example.org/index.php'); session_start();しかし、それは成功しなかった。 「私が次に試したこと」のセクションを更新しました。 – Nedvajz

+0

セッションを開始しないでください(またはまったく使用しないでください)。もう一度やり直してください。問題がブロッキングセッションなどによって引き起こされた場合は、私たちの質問に答えてください。 – Mark

答えて

0

私はPHPスクリプトでapacheの上で、私のサーバーから別のサーバーのPHPスクリプトを呼び出したとき、別のPHP FCGIインスタンスを作成することができませんでしたとして、それが失敗したデフォルト1
にあるものPHP_FCGI_CHILDRENを設定しませんでした。

Proper settings of PHP_FCGI_CHILDREN