В php-fpm chroot возникает проблема - не резолвятся DNS имена. В частности не работает функция gethostbyname.Причина проблемы в том, что в режиме chroot, php-fpm не видит файлов
etc/hosts
etc/resolv.conf
lib64/libnss_dns.so.2(или lib64/libnss_dns.so.2 если система 32-х битная)
Простейшим выходом является создание жестких ссылок внутрь chroot-окружения. Символические ссылки работать не будут, как и жесткие ссылки при размещении chroot-области на другом дисковом разделе, в этом случае нужно просто скопировать нужные файлы в chroot.
#!/bin/bash
export CHROOT_FPM="/opt/www/sotmarket"
mkdir $CHROOT_FPM/etc
mkdir $CHROOT_FPM/lib64ln /etc/hosts $CHROOT_FPM/etc/hosts;
ln /etc/resolv.conf $CHROOT_FPM/etc/resolv.conf#ln /etc/nsswitch.conf $CHROOT_FPM/etc/nsswitch.conf
cp /lib64/libnss_dns.so.2 $CHROOT_FPM/lib64/libnss_dns.so.2
Имя библиотеки libnss_dns возможно придется подкоректировать.
После копирования/создания ссылок на нужные файлы, нужно обязательно перезапустить php-fpm.URL:
Обсуждается: http://www.opennet.me/tips/info/2446.shtml
lib64/libnss_dns.so.2
(или lib64/libnss_dns.so.2 если система 32-х битная)а если нет разницы :)
Эээ...
А разве не принято еще на этапе планирования переносить в chroot, jail и прочие "клетки" все требуемые файлы?
О чем, ваще, сыр-бор то?
+1, лет 5 назад я даже в инете скрипт находил, который через ldd анализировал все вайлы и перетаскивал в chroot все зависимости.Потом меня это задолбало, и я стал в chroot строить полную ситему используя rpm, а потом перешел на виртуализацию :)
>РезолвингаА русский языка забыли?
>>Резолвинга
> А русский языка забыли?А мы на уроке русского языка? Все поняли о чем идет речь, напишите автору в личку , если считаете нужным.
Мы вроде не уроды с тремя классами церковно-приходской школы за плечами. Слово "разрешение" в данном контексте вполне устоявшийся термин.
> Мы вроде не уроды с тремя классами церковно-приходской школы за плечами. Слово
> "разрешение" в данном контексте вполне устоявшийся термин."Резолвинг" как раз устоявшийся термин, точно указывающий на то о чем идет речь. А "разрешение" абсолютно ничего не говорящее слово, которое с тем же успехом может на ограничение доступа указывать, вот и догадывайся потом что подразумевал автор.
В nic.ru, например, пишут именно резолвинг http://info.nic.ru/st/42/out_1349.shtml "В первую очередь пройдут лабораторные тесты, направленные на исследование правильности резолвинга, максимальной и минимальной длины доменного имени..."
> А "разрешение" абсолютно ничего не говорящее слово, которое с тем
> же успехом может на ограничение доступа указывать, вот и догадывайся потом
> что подразумевал автор.Ну, в русском языке "разрешение" имеет два значения -
1.предоставление привилегий
2.решение проблемы
Они вполне полноправны. В данном случае, точным значением будет "решение проблемы" - преобразования имен в IP-адреса.
Здесь ведь нет ситуации когда для англоязычного термина не существует точного русскоязычного аналога, как в каком-нибудь, прости, господи, мерчендайзинге.
З.Ы. Мне вот просто глаз режет, я может классических русскоязычных трудов по сетям перечитал)
З.З.Ы. Неплохо статью обсуждаем)