Некорректная работа php-сgi

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
catalyst
проходил мимо
Сообщения: 1
Зарегистрирован: 2008-06-04 23:31:19

Некорректная работа php-сgi

Непрочитанное сообщение catalyst » 2008-06-05 0:11:26

Доброй ночи.
Понадобилось поставить на CentOS 5.1 - nginx + fcgi. Воспользовался материалом, http://www.lissyara.su/?id=1532.
С помощью этой документации устанавливал на FreeBSD, до сих пор отлично работает.
Но тут что-то не задалось, nginx работает нормально, а php не обрабатывает, выдаёт "No input file specified."
Сам fcgi запускается корректно и висит на порту *:8888, проверил.
По крайней мере на одном сайте, проверку делали так: lsof -i tcp:8888, у меня команда выдаёт следующее:

Код: Выделить всё

php-cgi 22677  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22678  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22679  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22680  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22681  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22682  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22683  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22684  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22685  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22686  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
php-cgi 22687  www    0u  IPv4 1907730       TCP *:ddi-tcp-1 (LISTEN)
Буду рад, если подтолкнёте к решению проблемы.

Вот часть скрипта запуска spawn-fcgi:

Код: Выделить всё

#!/bin/bash

## ABSOLUTE path to the spawn-fcgi binary
SPAWNFCGI="/usr/local/bin/spawn-fcgi"

## ABSOLUTE path to the PHP binary
FCGIPROGRAM="/usr/local/bin/php-cgi"

## TCP port to which to bind on localhost
FCGIPORT="8888"

## number of PHP children to spawn
PHP_FCGI_CHILDREN=10

## maximum number of requests a single PHP process can serve before it is restarted
PHP_FCGI_MAX_REQUESTS=1000

## IP addresses from which PHP should access server connections
FCGI_WEB_SERVER_ADDRS="127.0.0.1"

# allowed environment variables, separated by spaces
ALLOWED_ENV="ORACLE_HOME PATH USER"

## if this script is run as root, switch to the following user
USERID=www
GROUPID=www

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
garrotte
ефрейтор
Сообщения: 64
Зарегистрирован: 2008-02-27 15:56:09
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение garrotte » 2008-06-09 5:18:44

показали-бы еще nginx.conf, если не ошибаюсь, косяк там нужно искать.. глянте его логи..

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение LMik » 2008-06-09 9:35:43

garrotte писал(а):показали-бы еще nginx.conf, если не ошибаюсь, косяк там нужно искать.. глянте его логи..
+1

Похоже путь не правльный передается...
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение arkan » 2008-08-18 14:54:42

А можно вопрос ?
куда должен путь передоваться ?

понимаю что вот в этой строчке должен быть указан путь к скрипту
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
но к какому скрипту и где его взять ?

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение paix » 2008-08-19 18:21:23

arkan писал(а):А можно вопрос ?
куда должен путь передоваться ?

понимаю что вот в этой строчке должен быть указан путь к скрипту
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
но к какому скрипту и где его взять ?

Код: Выделить всё

        location / {
            root   /home/vhosts/${domainame}/public_html;
            index  index.html index.php;
        }

        location ~ \.php$ {
            #fastcgi_pass   127.0.0.1:1026;     
            fastcgi_pass unix:/tmp/php-fpm/${domainame}.sock;  

            root  /home/vhosts/${domainame}/public_html;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            
            fastcgi_index  index.php;
            include        fastcgi_params;
        }
With best wishes, Sergej Kandyla

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение arkan » 2008-08-19 18:55:56

ЫЫЫЫ
я по статье делал
http://www.lissyara.su/?id=1532
зато уже чтото новенькое
The page you are looking for is temporarily unavailable.
Please try again later.

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение paix » 2008-08-19 19:44:14

много нового можно узнать, если не обламаться и заглянуть в логи. Например в error лог нжинкса.
With best wishes, Sergej Kandyla

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение arkan » 2008-08-19 19:56:05

ворчит на
unix:/tmp/php-fpm/${domainame}.sock;
ненайден файл или директория
while connecting to upstream

или здесь чтото надо заменить типа domainame ?

IceDragon
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-30 12:28:52

Re: Некорректная работа php-сgi

Непрочитанное сообщение IceDragon » 2008-09-30 12:33:40

Эта ошибка связана с тем, что все запросы касающиеся файлов с расширением .php напрямую транслируются fcgi

я решил эту проблему так:

Код: Выделить всё

        location / {
            root   /usr/local/www/main;
            index  index.php index.html index.htm;
        }

        location ~ \.php$ {
      if (!-f /usr/local/www/main$fastcgi_script_name) {
        return   404;
      }
            fastcgi_pass   127.0.0.1:1026;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/www/main$fastcgi_script_name;
            include        fastcgi_params;
        }    
это модуль rewrite (http://sysoev.ru/nginx/docs/http/ngx_ht ... odule.html)

конкретно кусок

Код: Выделить всё

if (!-f /usr/local/www/main$fastcgi_script_name) {
        return   404;
}
проверяет файл на существование и, если его не существует, то возвращает код ошибки 404.

как говорится RTFM ;)

Удачи в исследованиях

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение paix » 2008-09-30 14:02:45

IceDragon писал(а):Эта ошибка связана с тем, что все запросы касающиеся файлов с расширением .php напрямую транслируются fcgi

[/code]
это модуль rewrite (http://sysoev.ru/nginx/docs/http/ngx_ht ... odule.html)

конкретно кусок

Код: Выделить всё

if (!-f /usr/local/www/main$fastcgi_script_name) {
        return   404;
}
проверяет файл на существование и, если его не существует, то возвращает код ошибки 404.

как говорится RTFM ;)

Удачи в исследованиях
1. ошибка связана с невнимательностью, в конфиге нужно указывать реальный путь к пхп-фпм сокету или порту.
2. вам самому ртфм читать нужно. Нжикс и так выдаст 404 если файла нет. Мало того, использовать такую конструкцию избыточно и вредно, Сысоев об этом уже устал говорить ^)
With best wishes, Sergej Kandyla

IceDragon
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-30 12:28:52

Re: Некорректная работа php-сgi

Непрочитанное сообщение IceDragon » 2008-09-30 17:47:00

Ну ртфм то я читаю.
Только подозреваю, что у этого человека, так же как и у меня, fcgi не настроен на соединение с сокетом, поэтому этот совет в том виде, который есть не помогает.

PS а 127.0.0.1:1026 это конечно не адрес с портом :)
Последний раз редактировалось IceDragon 2008-09-30 18:15:51, всего редактировалось 1 раз.

IceDragon
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-30 12:28:52

Re: Некорректная работа php-сgi

Непрочитанное сообщение IceDragon » 2008-09-30 18:12:26

исследовал проблему дальше - выяснил что есть директива
fastcgi_intercept_errors on;
которая всю обработку ошибок перенаправляет с fcgi на nginx. т.е. проблема просто в том была что вместо nginx ошибки обрабатывал fcgi.

т.е. моя предидущая инструкция

Код: Выделить всё

if (!-f /usr/local/www/main$fastcgi_script_name) {
        return   404;
}
действительно была излишней :), спасибо за толчок.

а к сокету или к ip адресу подключаться - это не имеет значения.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Некорректная работа php-сgi

Непрочитанное сообщение zingel » 2008-10-03 13:05:13

а к сокету или к ip адресу подключаться - это не имеет значения.
Чего написал, сам понял? =)
Z301171463546 - можно пожертвовать мне денег