PHP одновременных запросов HTTP?

Мне было интересно, что лучший способ выполнять одновременные HTTP-запросы в PHP? У меня много данных, и я бы предпочел сделать сразу несколько запросов, чтобы получить все это.

Кто-нибудь знает, как я могу это сделать? Предпочтительно в функции анонимного / обратного вызова mannor …

Благодаря,

Том.

Вы можете использовать curl_multi , который внутренне запускает несколько отдельных запросов под одним ручкой curl.

Но в противном случае PHP сам по себе никоим образом не должен / форма / форма «многопоточность» и не позволит вещам работать параллельно, кроме как с помощью грубых хаков (несколько параллельных скриптов, один сценарий, запускающий несколько фоновых задач через exec () и т. Д. … ).

Вы можете попробовать либо curl_multi (), либо использовать функцию нижнего уровня socket_select ()

Или, если хотите, вы можете отправить вам данные как json. В php вы можете снова дефрагментировать его во всех значениях. например.

 xhttp.open("GET", "gotoChatRoomorNot.php?q=[{"+str+"},{"+user1+"},{"+user2"}]", true); 

и в php вы можете следить за этим, чтобы вернуть свои данные: как я могу извлечь данные из JSON с PHP?

Так что сделайте строку в формате json и отправьте всю вещь через http. Я думаю, что вы можете выполнять одно и то же поведение с xml, но я не знаю xml

вы можете использовать HttpRequestPool http://www.php.net/manual/de/httprequestpool.construct.php

 $multiRequests = array( new HttpRequest('http://www.google.com', HttpRequest::METH_GET), new HttpRequest('http://www.yahoo.com', HttpRequest::METH_GET) new HttpRequest('http://www.bing.com', HttpRequest::METH_GET) ); $pool = new HttpRequestPool(); foreach ($multiRequests as $request) { $pool->attach($request); } $pool->send(); foreach($pool as $request) { echo $request->getResponseBody(); }