2010-02-26 4 views
0

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

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

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

ответ

0

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

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

Таким образом, он должен работать как расширение PHP, которые составляются ...

+0

Хорошо, но если этот файл PHP загружает другой файл PHP (вышеупомянутый сгенерированный файл), тогда я мог бы представить пакет PHP, который предоставил бы функцию load_opcode_if_possible («x.php»), и эта функция попытается загрузить уже подготовленный файл opcode, и если он недоступен, он будет читать файл исходного кода и сразу же будет записывать на диск дискретный файл кода операции, который будет использоваться в следующий раз. – Tom

+0

@Tom: Теоретически вы можете это сделать, но у него будет свой собственный штраф, так как PHP (насколько мне известно) затягивает включенные/требуемые файлы во время фазы интерпретации перед компиляцией. – Powerlord

0

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^