こんにちは、次のようなコードがあります。
file1.php:
session_start();
$object1 = new object1($_SESSION['variable']);
switch($_GET['variableGet']){
case 'a': $object2 = new object2(); break;
case 'b': $object2 = new object2(); break;
}
/*
etc etc
*/
file2.php:
require_once('file1.php');
sleep(5);
$object2->doSomethingForFile2();
echo 'file2 is done!';
file3.php:
require_once('file1.php');
sleep(7);
$object2->doSomethingForFile3();
echo 'file 3 is done!';
AJAX を使用して、file2.php と file3.php を呼び出しています。
私がしたいこと:
file2 と file3 を同時に開始したい。
問題:
file3 は file2 を待っています -> file2 が終了すると (5 秒後)、file3 がスクリプトを開始し、ajax 全体が 7 秒ではなく 12 秒 (sleep(5) + sleep(7)) でロードされます。
自分の観察:
この問題は、file2 と file3 で使用されている *require_once(file1.php)* に依存しています。次のようなコードを実行する場合:
file2.php:
sleep(5);
echo 'file2 is done!';
file3.php:
sleep(7);
echo 'file 3 is done!';
データ全体が 7 秒で読み込まれます (file2.php の 5 秒後、file3.php の 2 秒後)。