Как отключить _force-cgi-redirect_ при компиляции PHP?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как отключить _force-cgi-redirect_ при компиляции PHP?

Сообщение Anonymous »

Я работаю с PHP 7 (или пытаюсь это сделать) и нахожусь в тупике, пытаясь найти способ отключить функцию force-cgi-redirect. Что бы я ни пытался, кажется, что двоичный файл php-cgi всегда собирается с этой опцией.

Я пробовал добавить следующее строку для php.ini-development и php.ini-development в каталоге проекта:

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

cgi.force_redirect = 0
Это не сработало, поэтому я также добавил --disable-force-cgi-redirect в ./configure командная строка - и это тоже не сработало.

Я искал в Google и искал решение - и не нашел ничего, кроме первого из две вещи, которые я пробовал, и (когда я стал очень конкретным) также вторую из двух вещей, которые я пробовал.

Я осознаю риски безопасности, связанные с отключением этой «функции». " -- но контекст, для которого мне нужен PHP 7, не применим к FastCGI.

Поскольку на сервере по умолчанию используется PHP 5, я могу работать только с ним. PHP 7 - это если я могу сделать это как CGI-скрипт, в котором первая строка:

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

#! /my/home/directory/local/bin/php-cgi
.. и где в этом месте находится PHP 7, потому что я скомпилировал его с --prefix= /my/home/directory/local" > вариант - и мне нужно, чтобы он запускался после такого вызова так же, как если бы он был вызван напрямую сервером.

Однако я не могу делаю это, потому что, что бы я ни делал, я не могу отключить функцию force-cgi-redirect.

Я могу получить сценарий для запуска, если он вызывается с помощью интерпретатора /my/home/directory/local/bin/php, а не с помощью /my/home/directory/local/bin/php-cgi интерпретатор - но мне это не помогает, так как это решение приводит к тому, что PHP 7 ведет себя как в командной строке (небольшие, но важные различия, такие как отсутствие вывода заголовка).
ПРИМЕЧАНИЕ. В целях тестирования (чтобы увидеть, что происходит не так) я также попытался написать CGI-скрипт, аналогичный следующему (скажем, он называется «phptest. cgi"):

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

#! /bin/bash

echo "Content-type: text/plain"
echo ""

/my/home/directory/local/bin/php-cgi phptest.php
Именно так я узнал, что проблема заключалась в функции force-cgi-redirect. Как и прежде, все, что я получил, это туманное уведомление о том, что произошла ошибка сервера.

Подробнее здесь: https://stackoverflow.com/questions/339 ... ompilation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»