Постоянството се извършва от копието на PHP, което е вградено в уеб сървъра. Обикновено сте прави – ако PHP работеше в CGI режим, би било невъзможно да имате постоянна връзка, защото няма да има нищо, което да продължи, когато заявката бъде изпълнена и PHP се изключи.
Въпреки това, тъй като има копие на PHP, вградено в уеб сървъра, а самият уеб сървър продължава да работи между заявките, е възможно да се поддържа пул от постоянни връзки в рамките на този „постоянен“ PHP.
Обърнете внимание обаче, че при модели сървъри от тип Apache с множество работни места, пуловете за връзки се поддържат НА ДЕТЕ. Ако зададете лимит на вашия пул на 10, ще имате 10 връзки на дете на Apache. 20 деца =200 връзки.
Постоянните връзки също ще доведат до дългосрочни проблеми със застой и други трудни за отстраняване проблеми. Запомнете - няма гаранция, че HTTP заявките на потребителя ще бъдат обслужвани от СЪЩАТА Apache child/mysql връзка. Ако скрипт умре частично чрез транзакция на база данни, тази транзакция НЕ бъде върнато назад, защото MySQL не вижда HTTP страната на нещата - всичко, което вижда, е, че връзката mysql<->apache все още е отворена и предполага, че всичко е наред.
Следващият потребител, който удари тази конкретна комбинация от apache/mysql дете/връзка, сега магически ще се окаже в средата на тази транзакция, без никаква представа, че транзакцията е отворена. По принцип това е уеб еквивалент на тоалетна без вода – целият „боклук“ от предишния потребител все още е там.
С непостоянни връзки гарантирано ще имате „чиста“ среда всеки път, когато се свързвате.