Автор Тема: [Решено]nginx и .php  (Прочитано 6245 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн redVi

[Решено]nginx и .php
« : 28 Сентябрь 2012, 14:00:53 »
Не удаётся настроить обработку .php-файлов в nginx. Html обрабатывает коррректно, а на файлы с расширением .php реагирует так: "An error occurred". Апача нет, стоит один nginx.
Думается мне, что указано неверное расположение скриптов в  fastcgi_param, помогите разобраться.
Конфиг nginx.conf:

server {
 36         listen       80;
 37         server_name  localhost;
 38         root    /var/www;


location / {
 44             #root   /usr/share/nginx/html;
 45             root    /var/www;
 46             index index.php index.html index.htm;
 47                     }


location ~ \.php$ {
 67             root           /var/www;
 68             fastcgi_pass   127.0.0.1:9000;
 69             fastcgi_index  index.php;
 70             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 71             include        fastcgi_params;
 72         }

Установлены nginx, php и php-fpm.
« Последнее редактирование: 29 Сентябрь 2012, 08:16:05 от Liberty »
Debian Sid, Openbox || Gentoo, Openbox
 

Оффлайн corner

Re: nginx и .php
« Ответ #1 : 28 Сентябрь 2012, 15:15:57 »
Проверьте, как настроен php-fpm на отдачу - через сокет или по tcp. По умолчанию отдача идет через сокет.
Пример:location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;fastcgi_param QUERY_STRING $query_string;
#fastcgi_param REQUEST_METHOD $request_method;
#fastcgi_param CONTENT_TYPE $content_type;
#fastcgi_param CONTENT_LENGTH $content_length;
}
« Последнее редактирование: 28 Сентябрь 2012, 15:19:16 от corner »
 

Оффлайн redVi

Re: nginx и .php
« Ответ #2 : 29 Сентябрь 2012, 07:32:33 »
Спасибо за подсказку. Через сокет .php теперь обрабатывает, но код .php, заключённый в html-документ - нет. Например:
Код:
1 <?php
2 phpinfo
();
3 ?>
Обрабатывает верно.
А вот так:
1 <html>
2 <head>
3 <title>PHP</title>
4 </head>
5
6 <body>
7 My test page
8 <?php
9   phpinfo
();
10 ?>

11 </p>
12 </body>
13 </html>
Отображает лишь html, .php не видит. Если не трудно, то подскажите, пожалуйста, на что ещё обратить внимание, чтобы всё отрабатывалось корректно.

Сообщение объединено: 29 Сентябрь 2012, 08:11:12
Ответ на вопрос, в принципе, найден. Это вина php-fpm, nginx не при чём: bugs

Сообщение объединено: 29 Сентябрь 2012, 08:15:19
А дабы всё работало, как того требует ситуация нужно добавить в php-fpm.conf строку:
security.limit_extensions = .php .htmlРешено.
« Последнее редактирование: 29 Сентябрь 2012, 08:15:19 от Liberty »
Debian Sid, Openbox || Gentoo, Openbox
 

Оффлайн corner

Re: [Решено]nginx и .php
« Ответ #3 : 29 Сентябрь 2012, 11:56:11 »
Совет дня - если уж пишите сайт на php, забудьте про расширение html.
 

Теги: nginx 
 

[Решено] etc/init.d/squid status squid is not running failed! другая проблема

Автор mirus

Ответов: 10
Просмотров: 2212
Последний ответ 05 Июль 2016, 10:32:30
от mirus
Подмена почтового адреса(решено)

Автор Виктор

Ответов: 3
Просмотров: 1429
Последний ответ 11 Сентябрь 2013, 11:10:29
от qupl
[Решено] Установка apache

Автор cia

Ответов: 2
Просмотров: 2453
Последний ответ 28 Октябрь 2011, 13:24:37
от cia
Samba, Winbind, Webmin(?) [решено]

Автор onegai

Ответов: 0
Просмотров: 1368
Последний ответ 09 Июль 2018, 05:21:09
от onegai
[Решено]OpenVZ и еже с ним vzctl

Автор YVSIK

Ответов: 5
Просмотров: 1892
Последний ответ 14 Январь 2014, 06:32:00
от qupl