Очень длинный URL-адрес вызывает ошибку ограничения open_basedir при проверке кеша представления CakePHP

У меня возникла проблема, когда PHP сообщает об ошибке ограничения open_basedir, когда CakePHP пытается проверить, существует ли кеш для представления.

Проблема в том, что за URL-адресом следует очень длинный запрос GET, например http://example.com/index/?sodmfsodifnsodfnsodfnsoidnfsodinfsiodnfsodinfsiodfn и так далее.

CakePHP преобразует это в имя файла для кеша, а затем PHP выдает предупреждение при вызове file_exists. Чтобы проверить, существует ли кеш представления.

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

Кто-нибудь сталкивался с этой проблемой и порекомендовал решения? Если есть ограничение на длину имени файла для file_exists, то, возможно, это должно быть ошибкой, о которой сообщают разработчикам CakePHP.


person Reactgular    schedule 02.05.2012    source источник
comment
Максимальный размер имени файла для большинства существующих операционных систем составляет 255 байт, поэтому, если вы превысите его, у вас будут проблемы!   -  person Zuul    schedule 03.05.2012


Ответы (1)


Единственным правильным ответом было отключить кэширование в CakePHP и/или перейти на CakePHP 2.0, чтобы можно было использовать или разработать другой механизм кэширования.

person Reactgular    schedule 18.09.2012