Привет, у меня есть такой код:
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 загружается через 12 секунд (sleep (5) + sleep (7)), а не через 7 секунд.
Собственные наблюдения:
Эта проблема зависит от * require_once (file1.php) *, который используется в file2 и file3. Если я запущу такой код:
file2.php:
sleep(5);
echo 'file2 is done!';
file3.php:
sleep(7);
echo 'file 3 is done!';
Все данные загружаются за 7 секунд (через 5 секунд file2.php, а затем через 2 секунды file3.php)