Tag: «php-fpm»
Шпаргалка при настройке nginx+php-fpm из homebrew
Если после настройки nginx и php-fpm для работы через php5-fpm.sock выдаётся ошибка у Nginx: 502 bad gateaway и в логе пишется что-то вроде:
*20 connect() to unix:/usr/local/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream
То проблема с правами решается:
cd /usr/local/var/run
sudo chmod 666 php5-fpm.sock
Если это помогло, но в /usr/local/etc/php/5.5/php-fpm.conf надо раскоментить строчку:
listen.mode = 0666
comment commentsFCKEditor и ошибка Access Denied
Обновил на своём серваке до последних стабильных версий Nginx и PHP до последних стабильных версий. PHP на данный момент 5.4.6.
После обновления перестал работать FCKEditor, вместо него выдавалась надпись «Access Denied».
FCKEditor на странице выводится через iframe, в котором, собственно и висит эта надпись. Поглядел исходники редактора, думал, что может где-то проверка версии php где-то, но ничего особого не нашёл. В ifame грузится файлик fckeditor/editor/fckeditor.html. Открыл его отдельно - та же ошибка. Подумал уже на Nginx, но, как оказалось, это вовсе не Nginx, и не исходники, а как раз PHP (php-fpm).
Гуглить по словам «Access Denied» было нелегко, но, заглянув в логи ошибок, увидел ключевое слово security.limit_extensions. Судя по названию, этот параметр в конфиге php-fpm.conf отвечает за то, в файлах с каким расширением исполнять php-код. Начиная с версии PHP 5.3.9, в целях безопасности, если этот параметр не указан в конфиге, то код исполняется только в файлах .php (как было до этого не знаю), а сам FCKEditor как-то хитро/криво через php подключается, что получается исполнение кода в том самом файле fckeditor.html (хотя внутри его нет). Там просто длинная схема фреймворка. Собственно поэтому php-fpm и возвращал «Access Denied».
Решение: в php-fpm.conf, а лучше в .conf-файле пула (вроде /etc/php-fpm/pulls/mysite.conf) добавить строчку:
security.limit_extensions = .php .html
Такое вот решение. Убил почти полтора часа на его поиск, т.к. не зная чужого кода не сразу понял, куда же копать. Поэтому оставлю это здесь. А может кому ещё пригодится.
comment comments