Я пишу какую-то тестовую систему в php, которая проверит мои записи в базе данных. Я разделил php-файлы для каждого тестового примера. Каждому (главному) файлу присваивается номер теста и входные параметры для этого теста в виде строки URL. Этот файл определяет номер теста и вызывает соответствующий тестовый пример на основе тестового номера. Теперь у меня есть группа строк URL, которые нужно передать, я хочу, чтобы те были переданы в этот (основной) файл, и каждый тестовый пример начинает работать независимо после получения своих параметров.Достижение многопоточности в PHP
ответ
Что вы можете сделать, это использовать cURL для отправки запросов обратно на сервер. Запрос будет обработан, и результаты будут возвращены.
Примером может быть:
$c = curl_init("http://servername/".$script_name.$params);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($c);
curl_close($c);
Хотя это не считается многопоточность, он может быть использован для достижения своей цели.
PHP не является многопоточным, он однопоточен. Вы не можете запускать новые потоки в PHP. Лучше всего будет file_get_contents
(или cURL) другому скрипту PHP для «имитации» потоков. Истинное многопоточность недоступно в PHP.
Вы также можете посмотреть сообщение Джона в http://phplens.com/phpeverywhere/?q=node/view/254.
PHP - это однопоточный объект, в настоящее время для него не существует многопоточности. Тем не менее, есть несколько вещей, которые вы можете сделать для достижения аналогичных (но не идентичных) результатов для случаев использования, с которыми я сталкивался, когда люди обычно спрашивают меня о многопоточности. Опять же, в PHP нет многопоточности, но некоторые из приведенных ниже могут помочь вам в создании чего-то с характеристиками, которые могут соответствовать вашим требованиям.
- libevent: вы можете использовать это, чтобы создать цикл событий для PHP, который сделает блокировку менее проблемой. См. http://www.php.net/manual/en/ref.libevent.php
- curl_multi: Еще одна полезная библиотека, которая может запускать получение/публикацию других сервисов.
- Управление процессом: не используется это самостоятельно, но может иметь значение, если управление процессом является одним из аспектов вашей проблемы. http://uk.php.net/pcntl
- Gearman: Теперь это я использовал, и это очень хорошо. Это позволяет создавать рабочих и отводить процессы в очередь. Вы также можете посмотреть на rabbit-php или ZeroMQ.
благодарит за полезное – user1369905
- 1. Достижение многопоточности в javascript
- 2. python Использовать python.dll Достижение многопоточности
- 3. Проблема многопоточности php
- 4. Достижение 3-уровневой архитектуры с Symfony PHP
- 5. Достижение JTextField в DocumentListener
- 6. Достижение предметов в JSON.
- 7. Выполнение задачи многопоточности java многопоточности
- 8. Достижение JSon результата в список
- 9. Достижение интерполяции в Angular 2
- 10. Достижение точного времени в android
- 11. Достижение нескольких замков в clojure
- 12. Достижение функции ANY() в RORacle
- 13. Достижение предела памяти в R
- 14. Достижение UpdatePanel-Functionality в MVC
- 15. Достижение наследования в компонентах knockoutjs
- 16. Достижение View.PostDelayed в Android Аннотации
- 17. Достижение многоядерности в Java - как?
- 18. Достижение функциональности CaseInsensitiveComparer в winRT
- 19. Достижение динамического охвата в JavaScript
- 20. Достижение переменных в других функциях
- 21. достижение max.print на R
- 22. Достижение проекции вне оси
- 23. Достижение теплового зрения
- 24. Достижение пределов шторма Apache
- 25. достижение цели номер
- 26. Достижение непусто Функция [C]
- 27. Сбросить одиночное достижение gamecenter
- 28. Как порекомендовать следующее достижение
- 29. AppEngine достижение сильной консистенции
- 30. Достижение лучшей производительности БД
Если вы спрашиваете о многопоточности в PHP, скорее всего, вы либо чрезмерны, либо используете неправильный язык. Если вы не беспокоитесь о блокировке, просто используйте 'file_get_contents ($ url);' –