можно использовать многопоточность в расширении PHP без режима ЗТС включен, но нити не должны взаимодействовать с любым из внутренних функций (в том числе и сам PHP кода). Это связано с тем, что без включенного режима ZTS ничто не является потокобезопасным (очевидно), и в Zend Engine (ZE) существует довольно много глобального состояния. Таким образом, вы ограничены в том, что вы можете делать с потоками в этом случае.
Если вы включите режим ZTS, потоки могут взаимодействовать с любыми внутренними функциями и PHP-кодом, но для использования архитектуры необходимо использовать. Это связано с тем, что есть некоторые части ZE, которые по-прежнему не являются потокобезопасными - в первую очередь, Zend Memory Manager (ZMM). Это означает, что для каждого потока должна быть сделана отдельная копия интерпретатора PHP (которая содержит у него собственный ZMM), где все функции, классы, интерфейсы, черты и т. Д. Копируются в этот новый экземпляр интерпретатора для выполнения действий в совершенно отдельный контекст.