У меня есть модифицированная версия PHP, которая скомпилирована в PHP, на PHP. Меня не интересует дискуссия о том, почему я не должен этого делать; передовой опыт, стандарты и т. д .; поэтому, пожалуйста, не делайте этого.Как я могу кэшировать или оценивать измененную версию PHP?
Он не модифицирован в ядре, но грубо использует скрипт PHP для изменения каждого файла PHP до его оценки. Из-за удара производительности modfiying каждый файл, я в настоящее время кэширования каждого файла, однако это не является идеальным решением, потому что:
- две копии каждого файла хранится
- Можно изменить неправильный файл
- серверов с паршивым хостингом не позволяют
file_put_contents()
, поэтому кэш должен быть обновлен на локальном сервере
альтернативное решение заключается в оценке каждый файл во время выполнения, однако это влечет за собой накладные расходы, а также требует eval()
, который может быть более медленным и не дает те же сообщения об ошибках, что и include()
.
Я хотел бы знать, есть ли лучший способ сделать это, предпочтительно тот, который работает на серверах, которые не позволяют file_put_contents()
.
Я пока не понимаю сценарий. У вас есть модифицированная версия PHP, работающая на сервере? Модифицировано, как в ядре? И куда входит удаленный хостинг? Что вы подразумеваете под «компиляцией каждого файла в PHP»? Для чего вы клонируете файлы PHP? Когда происходит оценка каждого файла? Я уверен, что ситуация имеет смысл, но сейчас это трудно понять. –
Сделайте 'file_put_contents' требование и двигайтесь вперед. – salathe
См. Выше изменения Пекка. Salathe - серверы, которые я использую, не имеют 'file_put_contents', и у меня нет денег, чтобы их изменить, так что это неприемлемо. Если вы не хотите сделать «богатым» требование. – peterjwest