Почему FastCGI+Nginx не видят настроек PHP?

Развернул на сервере классическую связку из Apache:8080+Nginx:80+FastCGI. При этом php при обращении к скриптам через 80 порт перестал видеть свои настройки (загружаются дефолтные). Пробовал выставлять настройки в php_value через .htaccess — всё равно они в упор не видятся.

А через 8080 порт все настройки нормально подтягиваются.

Сравните: clio.su/test.php vs. clio.su:8080/test.php (параметр upload_max_filesize для тестирования в php.ini выставлен 4M, в .htaccess 8M, default 2M)



Что нужно подправить в nginx.conf (httpd.conf), чтобы php.ini тоже принимал участие в работе связки через fastcgi? Чувствую, что решается проблема элегантно, но перелопатив яндекс, я не нашёл решения.



PS: И ещё попутный вопрос, тоже связанный с fastcgi. При использовании php функции mail() вся почта теперь отправляется с полем FROM: <www@внутреннее_имя_сервера>… и соответственно заруливается почтовиками по причине недействительности адреса. Переменная php sendmail_from не применяется.



UPD: Небольшое уточнение. У нас spawn_fcgi
  • Вопрос задан
  • 3617 просмотров
Пригласить эксперта
Ответы на вопрос 4
@bondbig
классическую связку из Apache:8080+Nginx:80+FastCGI
WTF? Вы уж определитесь — либо апач, либо fastcgi. Классическая связка это
nginx:80 --> apache:8080, либо:
nginx:80 --> fastcgi(php-fpm):8080
Ответ написан
maxout
@maxout
У Fastcgi процесса нет прав на листинг /usr/local/etc/ или чтение /usr/local/etc/php.ini?
Ответ написан
Комментировать
charon
@charon
про попутный вопрос: а как вы хотите, чтобы работало? С какими параметрами вызываете функцию mail()? Какой почтовый сервер?
Ответ написан
Комментировать
seriyPS
@seriyPS
У вас в clio.su/test.php в самом начале Loaded Configuration File - (none). В вашем случае, судя по тому что и там и там опция Configuration File (php.ini) Path - /usr/local/etc то fastcgi процессу не хватает прав на чтение файла /usr/local/etc/php.ini

Стоит еще учесть, в зависимости от ОС. В Ubuntu например отдельные конфиги PHP для запуска из под Apache, Cli и CGI. т.е. в папке /etc/php5/ есть подпапки cli/ apache/ cgi/ в каждой свой php.ini и загружается соответственно из той папки, каким образом запускаем php
Вообще причем здесь апач не понял.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы