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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: nginx, php-fastcgi и PHP_SELF

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Не передается этот параматр в окружение
DeepVarvar Супермодератор
Отправлено: 12 Июля, 2011 - 12:52:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Есть сервер nginx проксирующий запросы динамических файлов на порт который слушает php-fastcgi

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

кусок nginx.conf
Спойлер (Отобразить)

(Отредактировано автором: 12 Июля, 2011 - 13:07:30)

 
 Top
White
Отправлено: 12 Июля, 2011 - 13:06:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




$_SERVER['SCRIPT_NAME'] то же самое, но по CGI стандарту


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Июля, 2011 - 13:06:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White но ПМА и некоторым CMS это ведь не объяснишь..
 
 Top
EuGen Администратор
Отправлено: 12 Июля, 2011 - 13:09:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не хочется повторяться, здесь это есть:
http://phpclub[dot]ru/talk/threads/%[dot][dot][dot]2-php-cgi[dot]50865/


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
White
Отправлено: 12 Июля, 2011 - 13:16:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar
http://www[dot]faqs[dot]org/rfcs/rfc3875[dot]html
к сожалению не обьяснишь, хотя можно попробовать $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME']


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Июля, 2011 - 13:45:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White И так с каждым сайтом?
Подгонять под сервер?
Это как ногу под башмак подпиливать...
(Добавление)
EuGen это решение мне в голову пришло давно - но появилась мысль задать это значение в конфиге. Но так же как по указанной вами ссылке у человека ничего не получалось.
Значит придется править скрипты ПМА и сайтов...
А хотел не править. Затюнинговать CGI под модуль Закатив глазки
 
 Top
White
Отправлено: 12 Июля, 2011 - 18:02:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar пишет:
Это как ногу под башмак подпиливать...

Закатив глазки так на вскидку еще в php.ini попробовать
cgi.fix_pathinfo = 1


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Июля, 2011 - 20:04:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White пишет:
cgi.fix_pathinfo = 1

Нэ помогаэ....
 
 Top
White
Отправлено: 12 Июля, 2011 - 22:10:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




fastcgi_param PHP_SELF $fastcgi_script_name;

может так попробовать?
(Добавление)
да, а что насчет include fastcgi_params; include fastcgi_params_php;? Присутствуют?

(Отредактировано автором: 12 Июля, 2011 - 22:37:45)



-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 12 Июля, 2011 - 22:57:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Отличалось только этим:
Спойлер (Отобразить)

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

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


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



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar
DeepVarvar пишет:
Есть. В нем то же что и в конфе
Растерялся
а что в конфе сайта в sites-available?


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Июля, 2011 - 12:34:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White пишет:
sites-available

Ничего - это не апач, и апача там вообще нет...
 
 Top
White
Отправлено: 13 Июля, 2011 - 20:15:47
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar пишет:
Ничего - это не апач, и апача там вообще нет...
а при чем тут индеец? /etc/nginx/sites-available, или вы не используете виртуальные хосты?


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Июля, 2011 - 00:47:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Нет, не использую.
Создал двух юзеров и раздал им листен по портам прямо в nginx.conf
Но это не важно - и с одной листен-веткой та же проблема.
Где ж этот энвиромент прикручивается?

Сегодня еще ковырял.
Выходит почему-то - в nginx.conf прописываю нужный парам в ветке проксирования до пхп (синтаксически как в fastcgi.conf - типа продублировав) - что-то появляется.
Но искомый PHP_SELF таким макаром не заработал.
Хотя может и... но многие другие тоже были пусты(?)..
Надо бы проверить их всех на isset();
 
 Top
White
Отправлено: 14 Июля, 2011 - 08:17:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar
насколько я понимаю PHP_SELF генерируется самим php (не сервером) на основе $_SERVER['SCRIPT_NAME'], и $_SERVER['REQUEST_URI'], которых (как и многих других прописанных в вашем конфиге) в print_r($_SERVER) не наблюдается.
include /etc/nginx/fastcgi.conf; в location есть? а то получается что он просто игнорируется...


-----
if(time()>1356048000) die();
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB