2011-01-03 2 views
6

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

Мой хостинг действительно использует 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 с 128M на 10M.

  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 

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

спасибо.

+0

Вы видели это? http://www.php.net/manual/en/install.windows.php#60737 – crnlx

+0

Хорошо написанный вопрос. Однако в пункте (2) вы, скорее всего, настроите PHP-модуль apache, а не интерпретатор CGI. Следовательно, дальнейшие шаги настройки CGI кажутся излишними. Просто проверьте phpinfo() еще раз, чтобы узнать, где он ожидает, что php.ini будет проживать, и использовать это. Ваши настройки не будут подняты, если вы не перезапустите Apache (потому что он использует mod_php). Также позвольте мне быстро не одобрить использование Windows. – mario

+0

Простите, я не понимаю. Вы имеете в виду (1) Я уже изменяю PHP для работы в CGI, а затем в пункте (2) я возвращаюсь к модулю apache? –

ответ

1

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

+0

Да, я знаю, мы могли бы напрямую редактировать файл php.ini по умолчанию. Но мы не можем сделать это на сервере хостинга. –

+0

Нет надежного способа повлиять на конфигурацию php на сервере хостинга (я предполагаю, что вы говорите о стороннем узле.) Некоторые хосты полностью предотвращают это. Другие позволяют вам иметь собственный файл php.ini в определенном месте. Другие разрешают изменения через файл .htaccess, например. php_value upload_max_filesize 10M –

+0

Да Svemir. Я использую сторонний хост. На самом деле я написал некоторую конфигурацию php в .htaccess. Но это не работает, потому что мой сервер хостинга устанавливает PHP для запуска в режиме CGI. –

Смежные вопросы