Есть несколько руководств, рассказывающих, как переопределить конфигурацию PHP, когда она работает в режиме CGI. Но я все еще в замешательстве, потому что многие из них предполагают, что сервер работает на Linux. Хотя мне нужно сделать это также в Windows.
Мой хостинг действительно использует 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 со 128 до 10 млн.
Создайте файл '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
Извините, если мой вопрос не ясен. Я новый участник, и это мой первый вопрос на этом сайте.
Спасибо.