Простое решение для кэширования кода операции PHP, которое не требует компиляции?

У меня есть сайт PHP, где все страницы содержат сгенерированный 57K PHP-файл. Я думаю об использовании кэша кода операции, поэтому файл не нужно анализировать при каждой загрузке страницы (я предполагаю, что загрузка уже проанализированного файла будет быстрее, чем чтение исходного файла 57K).

APC кажется хорошим кандидатом для этого, но, согласно phpinfo, мой общий хостинг Godaddy не имеет его, и я не могу скомпилировать и установить его в среде общего хостинга. Платформа Zend установлена, но в соответствии с документацией ей также нужен APC или другой кэш кода операции в качестве бэкэнда.

Какие еще варианты у меня есть для выполнения кэширования кода операции? Есть ли PHP-решение для кэширования кода операции, которое я мог бы просто отправить по FTP в Godaddy?

2 ответа

Решение

Есть ли PHP-решение для кэширования кода операции, которое я мог бы просто отправить по FTP в Godaddy?

К сожалению нет. К тому времени, когда запускается файл.php, уже слишком поздно, так как действия по интерпретации и компиляции уже выполнены.

Следовательно, он должен работать как расширение PHP, которое компилируется...

Чтение файлового файла PHP, его синтаксический анализ, компиляция в коды операций и выполнение кодов операций - все это выполняется внутренним механизмом PHP - это означает, что скрипт PHP абсолютно не контролирует этот процесс; и это также означает, что единственный способ изменить этот процесс - через расширение PHP ( расширение PHP означает расширение, разработанное на C), которые имеют гораздо более высокий уровень контроля.

Это означает, что нет способа получить кэш кода операции, разработанный в чистом PHP: манипуляции с кодом, компиляция и кэширование - это операции, которыми вы не можете управлять из PHP.

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

Так что, к сожалению, у вас нет особой надежды: если вы хотите использовать кэш кода операции, такой как APC, вам придется воспользоваться некоторой услугой хостинга, которая его предоставляет, что может означать использование вашего собственного выделенного сервера.

Другие вопросы по тегам