|
|
|
| Каким образом Апач читает и выполняет *.php документы?
Например, есть скрипт типа:
switch $_GET['action'] {
case "login":
тут текст скрипта
break;
case "edit":
тут текст скрипта
break;
case "logout:
тут текст скрипта
break;
default:
тут текст скрипта
}
|
И в этом самом скрипте около 900 строк живого PHP кода. Мне не совсем понятно, читает ли сервер сначала весь скрипт целиком, а затем начинает его выполнять, или обработчик следует логическим условиям? То есть, если $_GET['action']="login", то на все остальное сервер не обращает внимания?
Короче, как сервером выполняются сценарии? | |
|
|
|
|
|
|
|
для: aexb
(26.07.2006 в 18:55)
| | Наверное, так:
1) Считывает весь файл
2) Проверяет, какое приложение его выполняет
3) Отдаёт его приложению
4) Приложение проверяет весь текст на грамматические ошибки
5) Выполняет
6) Отсылает результат в браузер
|
PS: Ну, я так понимаю, коды PHP и APACHE открытые? Сходите посмотрите :) | |
|
|
|
|
|
|
|
для: pini-pini
(26.07.2006 в 19:10)
| | Спасибо за совет, сейчас вот подучу C и пойду в исходниках разбираться :)
Это-то все понятно. Как именно PHP обрабатывает php-документ? По какой логической схеме? Может, сталкивался кто? | |
|
|
|
|
|
|
|
для: aexb
(26.07.2006 в 19:13)
| | Хм... да как обычный интерпретатор, разбирает последовательности, помещает их в стек и выполняет... интерпретаторы и компиляторы достаточно интересная тема, её просто так в двух словах не расскажешь.
PS В настоящий момент PHP чаще устанавливается как модуль, который в конфигурационном файле расширению php назначается в качестве обработчика. Если apache встречает документ с таким расширением он передаёт его модулю, который выполняет преобразования и выдаёт результат PHP-скрипта, который apache уже отправляет клиенту. | |
|
|
|