Сделайте getimagesize () ссылочными кэшированными значениями - PullRequest
1 голос
/ 21 апреля 2011

Я настраиваю сайт zen-cart, чтобы сделать его более эффективным. После его профилирования я вижу, что функция getimagesize составляет почти 50% времени загрузки страницы. Изображения хранятся локально. Один из вариантов - просмотреть исходный код zen-cart и заменить эту функцию чем-то настраиваемым, чтобы ссылаться на кэшированное значение, поскольку изображения редко когда-либо изменяются. Тем не менее, поскольку php является открытым исходным кодом, возможно, существует другая опция: есть ли способ изменить эту функцию, чтобы она просто считывала значение из кэша, которое я могу установить при загрузке изображения на сервер? Возможно, добавив необязательный параметр к функции, которая делает его читающим из кэша.

1 Ответ

1 голос
/ 21 апреля 2011

Интересная идея, но для этого потребуется перекомпиляция PHP. Хотя это не невозможно, это, вероятно, не очень хорошая идея с точки зрения обслуживания: вам придется реинтегрировать ваш патч при каждом обновлении PHP.

Однако, вы можете иметь возможность переопределить getimagesize(): Кажется, есть модули и библиотеки PHP, которые могут добавить эту возможность в PHP.

У меня нет опыта ни с одним из них, но вот несколько советов, как это сделать:

...