При запуске PHP через ваш веб-сервер, есть два различных варианта: запустить его с использованием PHP CGI SAPI или запустить его в качестве модуля для веб-сервера. У каждого есть свои преимущества, но, в целом, модуль, как правило, предпочтительнее.
Запуск PHP в качестве CGI означает, что вы в основном сообщаете веб-серверу местоположение исполняемого файла PHP, а сервер запускает этот исполняемый файл, предоставляя ему вызываемый вами скрипт, каждый раз, когда вы посещаете страницу. Это означает, что каждый раз, когда вы загружаете страницу, PHP должен читать php.ini и устанавливать его настройки, ему нужно загружать все его расширения, а затем ему нужно начинать работу с парсинга скрипта - много повторяется.
Когда вы запускаете PHP как модуль, PHP буквально располагается внутри вашего веб-сервера - он запускается только один раз, загружает свои настройки и расширения только один раз, а также может хранить информацию между сеансами. Например, PHP-ускорители полагаются на то, что PHP может сохранять кэшированные данные между запросами, что невозможно при использовании версии CGI.
Очевидным преимуществом использования PHP в качестве модуля является скорость - вы увидите значительное увеличение скорости, если конвертировать из CGI в модуль. Многие люди, особенно пользователи Windows, не осознают этого и продолжают использовать php.exe CGI SAPI, что обидно - модуль обычно в три-пять раз быстрее.
Существует одно ключевое преимущество использования версии CGI, а именно то, что PHP читает свои настройки каждый раз, когда вы загружаете страницу. Если PHP работает как модуль, любые изменения, которые вы вносите в файл php.ini, не вступают в силу, пока вы не перезапустите свой веб-сервер, что делает предпочтительной версию CGI, если вы тестируете много новых настроек и хотите видеть мгновенные ответы.