Re: Re: CGP и PHP CGI в нем

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Fri 14 May 2004 - 16:25:51 MSD


Hello, on 14.05.2004 16:03, (Varinov Nicolay) at CGatePro@mx.ru wrote:

> День добрый Dmitry,
>
> Friday, May 14, 2004, 3:41:12 PM, Вы пишете:
>
> DA> Hello, on 14.05.2004 15:29, (Varinov Nicolay) at CGatePro@mx.ru wrote:
>

>> DA> Имеется в виду переменная среды? Так в описании CGI про нее ничего не
>>> DA> сказано?
>>> Извиняюсь последнее вопрос или утверждение? (по CGI)

>
> DA> Утверждение с некоторой долей сомнения. Потому, что параметром скрипта
> может
> DA> быть и содержимое довольно большого файла - его тоже в переменные среды
> DA> засовывают?
>
>>> А какие
>>> переменные среды cgp передает скрипту или никахих? и какими способами
>>> передаются данные при post в cgp. Да а переменная HTTP_SERVER_VARS
>>> заполнена как следует.

>
> DA> Кем заполнена и кто ее читать будет?
> cgp, читаю я, пытаясь найти как получить данные из post в скрипт
> Как данные в cgp при методе post передаются скрипту?
> DA> Сервер проставляет значения для следующих переменных среды при вызове CGI
> DA> скриптов:
>
> DA> GATEWAY_INTERFACE
> ....
> DA> CONTENT_LENGTH
>
> Вот это все переменные и заносятся в переменную php - HTTP_SERVER_VARS

Ах. Теперь понял - php сам строит эту переменную, по-видимому из переменных среды.

> или _SERVER что тоже самое.
> Кроме вот этих
> QUERY_STRING
> HTTP_AUTHORIZATION
> HTTP_COOKIE
> ни где не смог их найти.

Их не будет, если:

- у запроса не было параметров в URL
- не было авторизации
- не было cookies

Пример <http://10.0.0.1:8100/cgi-bin/envtest.pl?test=1>:

Form variables:
test=1
Environment variables:
...
GATEWAY_INTERFACE=CGI/1.1
...
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC) ...
QUERY_STRING=test=1
REMOTE_ADDR=[10.0.1.83]
REQUEST_METHOD=GET

REQUEST_URI=/cgi-bin/envtest.pl?test=1
SCRIPT_NAME=/cgi-bin/envtest.pl
SERVER_NAME=10.0.0.1
SERVER_PORT=8100

SERVER_PROTOCOL=HTTP/1.0
SERVER_SOFTWARE=CommuniGatePro
...
>>>>> php4.3.6 собран стандартно из портов freebsd4.9, cgp 4.2b3
>>>>> 
>>>>> Есть какие-нибудь идеи, куда смотреть ?

> Да, а вот в этой строчке разве не два раза должно быть \r\n в конце?
> Header: HTTP/1.1 200 OK\r\nCONNECTION: close\r\nDate: Fri, 14 May 2004
> 11:21:02 GMT\r\nServer: CommuniGatePro/4.2b3\r\n

В лог запрос попадает не полностью (на тот случай, если строка взята из лога.)

-- 
Best regards,
Dmitry Akindinov -- Stalker Labs
Получено Fri May 14 12:25:55 2004

Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:14:59 MSK