Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: nginx, php-fastcgi и PHP_SELF
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » nginx, php-fastcgi и PHP_SELF

Страниц (2): [1] 2 »
 

1. DeepVarvar - 12 Июля, 2011 - 12:52:17 - перейти к сообщению
Есть сервер nginx проксирующий запросы динамических файлов на порт который слушает php-fastcgi

Все переменные окружения есть.
Нет только одного ключика (всегда пуст): $_SERVER['PHP_SELF']
И все бы ничего, но напрягает когда по symlink'у заходишь в ПМА, он и редиректит не в ту же "symlink-папку", а в корень сервера..
Нехорошо...
И где ж это настроить то можно???
(Добавление)
fastcgi.conf
Спойлер (Отобразить)

кусок nginx.conf
Спойлер (Отобразить)
2. White - 12 Июля, 2011 - 13:06:06 - перейти к сообщению
$_SERVER['SCRIPT_NAME'] то же самое, но по CGI стандарту
3. DeepVarvar - 12 Июля, 2011 - 13:06:43 - перейти к сообщению
White но ПМА и некоторым CMS это ведь не объяснишь..
4. EuGen - 12 Июля, 2011 - 13:09:48 - перейти к сообщению
Не хочется повторяться, здесь это есть:
http://phpclub[dot]ru/talk/threads/%[dot][dot][dot]2-php-cgi[dot]50865/
5. White - 12 Июля, 2011 - 13:16:17 - перейти к сообщению
DeepVarvar
http://www[dot]faqs[dot]org/rfcs/rfc3875[dot]html
к сожалению не обьяснишь, хотя можно попробовать $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME']
6. DeepVarvar - 12 Июля, 2011 - 13:45:58 - перейти к сообщению
White И так с каждым сайтом?
Подгонять под сервер?
Это как ногу под башмак подпиливать...
(Добавление)
EuGen это решение мне в голову пришло давно - но появилась мысль задать это значение в конфиге. Но так же как по указанной вами ссылке у человека ничего не получалось.
Значит придется править скрипты ПМА и сайтов...
А хотел не править. Затюнинговать CGI под модуль Закатив глазки
7. White - 12 Июля, 2011 - 18:02:44 - перейти к сообщению
DeepVarvar пишет:
Это как ногу под башмак подпиливать...

Закатив глазки так на вскидку еще в php.ini попробовать
cgi.fix_pathinfo = 1
8. DeepVarvar - 12 Июля, 2011 - 20:04:43 - перейти к сообщению
White пишет:
cgi.fix_pathinfo = 1

Нэ помогаэ....
9. White - 12 Июля, 2011 - 22:10:14 - перейти к сообщению
fastcgi_param PHP_SELF $fastcgi_script_name;

может так попробовать?
(Добавление)
да, а что насчет include fastcgi_params; include fastcgi_params_php;? Присутствуют?
10. DeepVarvar - 12 Июля, 2011 - 22:57:44 - перейти к сообщению
Отличалось только этим:
Спойлер (Отобразить)

Добавил, перезапустил - результат нулевой.

Вот print_r($_SERVER);
Спойлер (Отобразить)


Остальные вырезал, но там нет того что надо...
(Добавление)
White пишет:
include fastcgi_params;
Есть. В нем то же что и в конфе
White пишет:
include fastcgi_params_php;
Нету...
White пишет:
fastcgi_param PHP_SELF $fastcgi_script_name;
Не выйдет, сам пробовал и обсуждалось выше...
11. White - 13 Июля, 2011 - 09:02:00 - перейти к сообщению
DeepVarvar
DeepVarvar пишет:
Есть. В нем то же что и в конфе
Растерялся
а что в конфе сайта в sites-available?
12. DeepVarvar - 13 Июля, 2011 - 12:34:27 - перейти к сообщению
White пишет:
sites-available

Ничего - это не апач, и апача там вообще нет...
13. White - 13 Июля, 2011 - 20:15:47 - перейти к сообщению
DeepVarvar пишет:
Ничего - это не апач, и апача там вообще нет...
а при чем тут индеец? /etc/nginx/sites-available, или вы не используете виртуальные хосты?
14. DeepVarvar - 14 Июля, 2011 - 00:47:03 - перейти к сообщению
Нет, не использую.
Создал двух юзеров и раздал им листен по портам прямо в nginx.conf
Но это не важно - и с одной листен-веткой та же проблема.
Где ж этот энвиромент прикручивается?

Сегодня еще ковырял.
Выходит почему-то - в nginx.conf прописываю нужный парам в ветке проксирования до пхп (синтаксически как в fastcgi.conf - типа продублировав) - что-то появляется.
Но искомый PHP_SELF таким макаром не заработал.
Хотя может и... но многие другие тоже были пусты(?)..
Надо бы проверить их всех на isset();
15. White - 14 Июля, 2011 - 08:17:04 - перейти к сообщению
DeepVarvar
насколько я понимаю PHP_SELF генерируется самим php (не сервером) на основе $_SERVER['SCRIPT_NAME'], и $_SERVER['REQUEST_URI'], которых (как и многих других прописанных в вашем конфиге) в print_r($_SERVER) не наблюдается.
include /etc/nginx/fastcgi.conf; в location есть? а то получается что он просто игнорируется...

 

Powered by ExBB FM 1.0 RC1