Если честно, не писал таких тестов. В юнит-тестах запросы к БД нужно мокать (имитировать) иначе тестовое окружение еще нужно потдерживать, да и медленные тесты будут.
А вообще вот: stackoverflow.com/questions/23986137/fatal-error-c...
romy4:
1. в рамках одного риквеста - РНР однопоточный и не асинхронный, отсюда и вопрос: зачем однопоточному РНР (в рамках одно го риквеста) Promise?
mysqli и poll - ничего не решают, ведь есть postgres, лперации с файлами и много чего в РНР - это блокирующие поток функции.
РНР может быть асинхронным, но для этого нужно использовать
а. Thread, или
б. pcntl_fork, или
в. воротить курлами запросы самому себе
1. о какой асинхронности идет речь, если я могу сделать тяжелый запрос (или просто поставить sleep(10)) и все будут его ждать, т.к. ниодна из библиотек (guzzle/promises, reactphp/promise) не реализует ни Thread, ни pcntl_fork.
2. возможно. различие здесь очень тонкое, наверно асинхронность - это частный случай паралельности (задачи можно обрабатывать паралельно и синхронно, а можно паралельно и асинхронно). Но асинхронность подразумевает паралельное выполнение - а это значит неблокирование задач друг другом, в JS это есть из коробки (ну или они это хорошо эмулируют) РНР я не могу себе представить асинхронным\паралельным.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
А вообще вот:
stackoverflow.com/questions/23986137/fatal-error-c...