Почему 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
  • Вопрос задан
  • 3610 просмотров
Пригласить эксперта
Ответы на вопрос 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
Вообще причем здесь апач не понял.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы