Доброго времени суток.
Окружение вообщем-то стандартное:
Ubuntu c nginx'ом на борту. Который работает с php-fpm который в свою очередь заперт в своей клетке и работает через chroot параметр, каждый хост от своего пользователя.
Chroot-path:
/home/www/vhostdata/example.dev/
Сам проект в
/home/www/vhostdata/example.dev/home/htdocks/
но для chroot-нутого пользователя этот путь выглядит как -
/home/htdocks/
Отсюда и проблемма.
В моем случае это yii фреймворк. Assets Manager создает symlink'и исходя из chroot'а.
То есть - nginx идет в /home/www/vhostdata/example.dev/home/htdocks/web/assets и видит там следующее:
lrwxrwxrwx 1 example.dev example.dev 39 дек. 24 00:37 509ca038 -> /home/htdocks/web/themes/default/assets
lrwxrwxrwx 1 example.dev example.dev 64 дек. 24 00:37 5d465bfb -> /home/htdocks/web/protected/vendors/framework/zii/widgets/assets
lrwxrwxrwx 1 example.dev example.dev 55 дек. 24 00:37 7b30adf2 -> /home/htdocks/web/protected/extensions/bootstrap/assets
lrwxrwxrwx 1 example.dev example.dev 59 дек. 24 00:37 a0ef63b0 -> /home/htdocks/web/protected/vendors/framework/web/js/source
lrwxrwxrwx 1 example.dev example.dev 56 дек. 24 00:37 f5a86c4c -> /home/htdocks/web/protected/extensions/highcharts/assets
И естественно воспринимает это дело как brokenlink, ибо сам nginx работает вне chroot'тнутой среды и для него эти линки действительно ссылаются в никуда.
Кто встречался с данной проблеммой? Как решали? Делать в php symlink'и на относительные адреса
ln -s ../web/assets 7b30adf2
мне кажется не правильным, да и библиотеку фреймворка ради этого переписывать. А их (фреймворков) много, каждый не перепишешь.
Заранее спасибо.