Проехали. Я более чем сам прекрасно понимаю что задача полная дичь (вернее не сама задача а ее причины). Клиенты разные и админы у них бывают разные и у некоторых есть мания ставить RO на все файлы - типа безопасно. Не надо писать что это бред - я сам это прекрасно понимаю.В плане какой безопасности?
Сделай рамдиск, пиши в него что хочешь.
чем строже тем лучше, осталось исключений добавитьу некоторых есть мания ставить RO на все файлы - типа безопасно
Нормальное вполне желание, что бы код был RO в продакшене. Проблема "кодогенерации" решается прогревом этого кеша до деплоя.да проблема не в сервисе, а в "типа безопасности". хотят чтобы не было доступа на запись, а есть кодогенерация на лету. Скорее всего забью на это, спросил больше а вдруг кто знает. Это все-таки из разряда извращений.
Я посмотрел.@WMix именно. Если более точно, то нужно кеширование для автогенерированного кода когда фс только для чтения. Поэтому нужно кешировать пользовательские stream wrapper-ы.
Я понимаю что скорее всего это не решаемая задача, но думал вдруг есть кто знает внутренности и можно как-то принудительно заставить или обмануть пхп через ffi.
вот это костыль! не подумал о нем ))) Как будет свободное время попробую такое извраЕще интересно, что будет, если собрать php без phar и зарегистрировать кастомный phar stream wrapper. Судя по всему, всё навернется с грохотом. С другой стороны, если при этом укладываться в phar-схему, чтобы там парсер в opcache думал, что это настоящий phar, может, это и будет костыльным решением твоей задачи?
Это не нормальное желание когда система изначально проектировалась что у нее должны быть некоторые папки с доступом на запись. И это нельзя решить прогревом после деплоя, потому что код генерится от любого чиха в админкеНормальное вполне желание, что бы код был RO в продакшене. Проблема "кодогенерации" решается прогревом этого кеша до деплоя.
Прям битрикс какой-тоЭто не нормальное желание когда система изначально проектировалась что у нее должны быть некоторые папки с доступом на запись. И это нельзя решить прогревом после деплоя, потому что код генерится от любого чиха в админке
обычное дело для коробочных решений.Прям битрикс какой-то
Например те же полноценные readonly properties можно было сделать через ffi еще до всех новых rfc. По аналогии подумал что может можно обойти и другое встроенное ограничение. Повторюсь знаний внутренностей пхп у меня не много.как связаны ffi и stream wrappers?
Ты ж сам как-то тут z-engine пиарил. Не уверен, что readonly можно (внутри пхп таких ручек и нет, если только какой костыль хитрый), но логика понятна, влезть во внутренности php через ffi.а как сделать readonly на ffi?