У меня есть html, который запускает php несколько раз (около 20). Что-то вродеPhp несколько сценариев очереди?
for(i=0;i<20; i++){
$.get('script.php?id='+i,function(){...});
}
Каждый раз, когда запускается скрипт, он получить контент через различные веб-сайты (каждый раз, когда другой один), так что каждый сценарий занимает от 1 до 10 секунд, чтобы закончить и дать ответ. Я хочу запустить все скрипты одновременно быстрее, но 2 вещи замедляют работу: первый на странице html, кажется, что ajax запрошен в очереди после первых пяти, по крайней мере, разработчик Chrome сказал мне, что ... (это можно легко исправить, я думаю, я еще не удосужился найти решение); во-вторых, на стороне php: даже если первые 5 скриптов запускаются вместе, они запускаются последовательно, даже не в порядке. Я В поставить некоторые
echo microtime(true);
вокруг сценария, чтобы получить там, где сценарий медленно и то, что я узнал (немного удивлены), что время на начале сценария (тот, который должен быть запущен в почти в то же время на всем скрипте) отличается: разница очень последовательна, а также 10 секунд, как если бы второй скрипт дождался первого конца до начала. Как я могу запустить скрипт одновременно одновременно? Спасибо.
Javascript запускается внутри однопоточно и делает вещи в сериализованном виде. Google для «веб-работников» –
PHP будет запускать запросы в последовательном порядке, а не в потоке. Вы можете использовать curl для выполнения нескольких запросов. http://php.net/manual/en/function.curl-multi-init.php –