A) Нет, нет.
B) mysql_pconnect () работает из-за взаимодействия веб-сервера и php.Веб-сервер обычно запускает несколько дочерних процессов, которые обрабатывают запрос.Каждый дочерний процесс может обрабатывать только один запрос за раз, и параллелизм достигается путем отправки параллельных запросов различным процессам.
Каждый такой процесс имеет свой собственный экземпляр PHP, который повторно используется для каждого нового запроса.Это позволяет модулям PHP поддерживать некоторое состояние между запросами.Вы не можете сделать это из обычного PHP-кода, это должно быть расширение, написанное на C. Однако нет никаких гарантий по этому поводу.Процесс может быть остановлен и перезапущен в любое время.
Sidenote: Конечно, не все веб-серверы используют такие процессы.Вместо этого достаточно использовать многопоточный подход.Это не работает на PHP, так как не все расширения потокобезопасны.Поэтому PHP всегда должен работать на веб-сервере, который создает дочерние процессы для обработки запросов.Этот режим (MPM) в Apache называется prefork.
C) Как я уже сказал, у вас нет выбора.В быстрой сети издержки на открытие нового соединения довольно малы.