Есть несколько руководств, в которых рассказывается, как переопределить конфигурацию PHP, когда она запущена в режиме CGI. Но я все еще запутался, потому что многие из них предполагают, что сервер работает в Linux. Хотя мне нужно сделать это также на Windows.Как переопределить конфигурацию PHP при работе в режиме CGI
Мой хостинг действительно использует Linux, но мой локальный компьютер разработки использует Windows XP с Xampp 1.7.3. Поэтому сначала мне нужно сделать это на моем локальном компьютере, затем я хочу изменить конфигурацию на сервере хостинга.
PHP на моем сервере хостинга уже запущен как CGI, а на моем локальном компьютере все еще работает как модуль Apache.
На данный момент, те процессы, которые я понимаю, являются:
Изменение PHP для работы в режиме CGI. Я сделал это, комментируя эти две линии в "HTTPd-xampp.conf":
# LoadFile "C:/xampp/php/php5ts.dll"
# LoadModule php5_module modules/php5apache2_2.dll
Мой PHP теперь работает как CGI. Я проверил это с помощью phpinfo(). Он сообщает мне, что API-интерфейс сервера теперь является CGI/FastCGI. Теперь я хочу переопределить конфигурацию php.
Создайте каталог cgi-bin в DocumentRoot. Мой DocumentRoot находится в «D: \ www \» (я использую apache с виртуальным хостом). Итак, теперь это «D: \ www \ cgi-bin».
Изменение по умолчанию "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>
Скопируйте файл «php.ini» в «D: \ www \ cgi-bin» и измените параметр upload_max_filesize с 128M на 10M.
Создать файл '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
Прошу прощения, если мой вопрос непонятен.Я новый участник, и это мой первый вопрос на этом сайте.
спасибо.
Вы видели это? http://www.php.net/manual/en/install.windows.php#60737 – crnlx
Хорошо написанный вопрос. Однако в пункте (2) вы, скорее всего, настроите PHP-модуль apache, а не интерпретатор CGI. Следовательно, дальнейшие шаги настройки CGI кажутся излишними. Просто проверьте phpinfo() еще раз, чтобы узнать, где он ожидает, что php.ini будет проживать, и использовать это. Ваши настройки не будут подняты, если вы не перезапустите Apache (потому что он использует mod_php). Также позвольте мне быстро не одобрить использование Windows. – mario
Простите, я не понимаю. Вы имеете в виду (1) Я уже изменяю PHP для работы в CGI, а затем в пункте (2) я возвращаюсь к модулю apache? –