Нет, между глобальными переменными приложения не будет никаких коллизий, если два каталога приложений действительно отделены друг от друга и не содержат файлы друг от друга. Когда выполняется PHP-скрипт, инициирующий его HTTP-запрос может рассматриваться как изолированный инцидент. Он отделен и изолирован от всех других запросов к тому же приложению (даже одновременно) и от других приложений.
Каждый сценарий получает свое собственное пространство имен переменных при запуске, и эта среда завершается и удаляется из памяти по завершении сценария.
Теперь, если вы используете $_SESSION
и оба приложения используют одно и то же значение для session_name()
и работают на одном доменном имени, существует вероятность того, что значения сохранятся в $_SESSION
может столкнуться между экземплярами вашего приложения. Это просто решается путем изменения значения для одного из приложений по умолчанию PHPSESSID
:
// Application 1
session_name("APP1");
session_start();
// Application 2
session_name("APP2");
session_start();
Вы, наверное, уже знаете об этом, но я скажу, что это будет завершено. Везде, где возможно, рекомендуется абстрагировать аспекты кода, которые могут быть разделены между двумя экземплярами приложения и включены ими обоими. Это соответствует принципу DRY и избавит вас от головной боли, если вам когда-нибудь придется вносить изменения в код, используемый в обоих приложениях.