Задать вопрос

Почему 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
  • Вопрос задан
  • 3631 просмотр
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Вообще причем здесь апач не понял.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽