Почему является $ PHP _REQUEST пустым массивом?

Я нашел проблему. Я не знаю, почему сертификат был отменен, но он был добавлен к нашему локальному CA и установлен, как доверяется. FireFox не должен ссылаться на наш локальный CA для сертификатов, но IE.

7
задан 16 August 2010 в 18:36
4 ответа

Проверьте, разделяет ли этот набор в Вашем "местоположении" - для Вашего fastcgi-модуля

 fastcgi_param  QUERY_STRING     $query_string;

http://wiki.nginx.org/NginxHttpFcgiModule

6
ответ дан 2 December 2019 в 23:27

Попытайтесь проверить variables_order в php файл конфигурации, используемый nginx.

0
ответ дан 2 December 2019 в 23:27

Особенностью команды try_files в nginx является то, что query_string не передается автоматически в перезаписанный файл, а должна передаваться явно. Из-за этого _ $ SERVER ['QUERY_STRING'] всегда пусто, поэтому переменные $ _ REQUEST и $ _ GET также не установлены.

] Из документации Nginx:

В отличие от rewrite, $ args не сохраняется автоматически, если запасной вариант - это не указанное местоположение. Если вам нужно сохранить аргументы, вы должны сделайте это явно:

try_files $uri $uri/ /index.php?q=$uri&$args;

или только с аргументами

try_files $uri $uri/ /index.php?$args;

Если вы хотите гарантировать получение исходных аргументов, используйте $ query_string , что аналогично $ args , за исключением того, что $ query_string доступен только для чтения.

6
ответ дан 2 December 2019 в 23:27

Это может произойти, если в Apache установлено LimitRequestBody (см. core) или SecRequestBodyLimit (см. mod_security) и тело запроса больше указанного предела.

0
ответ дан 30 March 2021 в 04:38

Теги

Похожие вопросы