Как переопределить конфигурацию PHP при работе в режиме CGI - PullRequest
6 голосов
/ 03 января 2011

Есть несколько руководств, рассказывающих, как переопределить конфигурацию PHP, когда она работает в режиме CGI. Но я все еще в замешательстве, потому что многие из них предполагают, что сервер работает на Linux. Хотя мне нужно сделать это также в Windows.

Мой хостинг действительно использует Linux, но мой локальный компьютер для разработки использует Windows XP с Xampp 1.7.3. Поэтому сначала мне нужно сделать это на локальном компьютере, а затем изменить конфигурацию на хост-сервере.

PHP на моем хост-сервере уже запущен как CGI, а на моем локальном компьютере все еще работает как модуль Apache.

На данный момент, процессы, которые я понимаю:

  1. Изменить PHP для работы в режиме CGI. Я сделал это, комментируя эти две строки в «httpd-xampp.conf»:

    # LoadFile "C:/xampp/php/php5ts.dll"
    # LoadModule php5_module modules/php5apache2_2.dll

  2. Мой PHP теперь работает как CGI. Я проверил это с помощью phpinfo (). Это говорит мне, что серверный API теперь CGI / FastCGI. Теперь я хочу переопределить конфигурацию php.

  3. Создать каталог «cgi-bin» в DocumentRoot. Мой DocumentRoot находится в "D: \ www \" (я использую apache с виртуальным хостом). Так что теперь это "D: \ www \ cgi-bin".

  4. Изменить стандартные настройки каталога «cgi-bin» с «C: / xampp / cgi-bin /» на «D: \ www \ cgi-bin»:

    ScriptAlias /cgi-bin/ "D:/www/cgi-bin/"

    <Directory "D:\www\cgi-bin">
       Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI
       AllowOverride All
       Allow from All
    </Directory>
    
  5. Скопируйте файл php.ini в "D: \ www \ cgi-bin" и измените настройку upload_max_filesize со 128 до 10 млн.

  6. Создайте файл 'php.cgi' в "D: \ www \ cgi-bin" и поместите этот код в файл:

    #!/bin/sh
    /usr/local/cpanel/cgi-sys/php5 -c /home/user/public_html/cgi-bin/

Вот и все. Я застрял в этой точке. Все учебники говорят мне, чтобы я создал файл 'php.cgi' и поместил в него шелл-код.

Как сделать 6-й шаг в Windows? Я знаю, что следующий шаг - создать обработчик в файле .htaccess для загрузки этого php.cgi.

А также, поскольку мне также потребуется изменить конфигурацию PHP на моем хост-сервере (Linux), верно ли это 6-й шаг выше? В некоторых уроках указывается вставлять эти строки вместо вышеуказанных:

#!/bin/sh
export PHPRC=/site/ini/1
exec /cgi-bin/php5.cgi

Извините, если мой вопрос не ясен. Я новый участник, и это мой первый вопрос на этом сайте.

Спасибо.

1 Ответ

1 голос
/ 03 января 2011

Если на вашем сервере уже запущен PHP как cgi, и вам не нужно запускать несколько конфигураций PHP, шаги 5 и 6 не нужны.Просто измените php.ini по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...