Модуль PHP - код должен выполняться только первый раз при входе в систему, как Java - PullRequest
0 голосов
/ 11 января 2011

Я конвертирую php для запуска из режима cgi в режим модуля по соображениям производительности.

В режиме CGI код php выполнялся каждый раз. У меня было ощущение, что с этим преобразованием PHP-код будет работать в памяти так же, как Java. Это означает, что если пользовательский класс был создан при первом входе в систему, он останется как класс в памяти. Но это не так. Весь код должен выполняться каждый раз.

Есть ли способ запустить PHP как Java?

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 января 2011

Нет, версия модуля PHP работает в этом отношении так же, как версия CGI, поэтому вы не можете хранить класс "в памяти" между запросами.

Итак, вам все еще нужно хранить / сериализовать ваши данные между запросами, что означает использование сеансов, потому что каждый запрос будет обрабатываться «новым» скриптом.Сервер ", но PHP не работает таким образом (AFAIK), и модуль PHP Apache не является сервером приложений.

0 голосов
/ 11 января 2011

Я не совсем ясен по вашему вопросу, но если вы спрашиваете о кэшировании байт-кода php-файла, чтобы сократить время загрузки, я хотел бы изучить использование APC (http://php.net/manual/en/book.apc.php).

. Он будет кешироватьбайт-код вашего PHP и значительно сократить время, необходимое для загрузки неизмененного класса.

...