Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Переадресация CGI

Apache

Хороший способ выполнять PHP/FI - используя модуль переадресации cgi с http сервером Apache. Обратите внимание, что вам не нужно волноваться относительно модулей переадресации, если PHP/FI используется в виде модуля Apache. Существует два таких модуля переадресации. Один из них разработан Дэйвом Андерсеном <angio@aros.net>, и доступен по ftp://ftp.aros.net/pub/util/apache/mod_cgi_redirect.c, и другой идет вместе с исходными текстами Apache и называется mod_actions.c. Эти модули очень похожи. Есть лишь небольшая разница в их использовании. Оба были протестированы и оба работают с PHP/FI.

Одно большое "но": на момент написания документа (апрель. 20/96) - то, что текущий официальный выпуск Apache (1.0.5) имеет серьезное ограничение, которое препятствует получению данных в переадресованных cgi запросах метода POST. Я разрешил эту проблему и устранил этот недостаток в моей версии Apache, есть также официальный патч, доступный в файловом архиве на домашней странице PHP.

Вторая довольно большая проблема с Apache, 1.0.x - то, что он не выравнивает тип double правильно на большинстве архитектур. Вы получаете странные ошибки типа BUSERROR от вашего httpd при использовании mod_php, для решения этой проблемы нужно или обновление Apache до 1.1 или подредактировать файл alloc.c Apache. В этом файле найдите следующий фрагмент кода:

union align {
/* Types which are likely to have the longest RELEVANT alignment 
*  restrictions... we don't do much with doubles.
*/
char *cp; void (*f)();
long l;
FILE *fp;
};

Нужно добавить double к этой строке и перетранслировать вашу Apache сервер. Правильный блок кода:

union align {
/* Types which are likely to have the longest RELEVANT alignment 
*  restrictions... we don't do much with doubles.
*/
char *cp; void (*f)();
long l;
FILE *fp; double d;
};

Проверьте документацию к Apache по тому, как добавлять модуль. Вообще Вы добавляете имя модуля к файлу называемому Configuration. Если вы хотите использовать модуль mod_action, то вам нужно добавить следующую строку:

Module action_module mod_actions.o

Если хотите использовать модуль mod_cgi_redirect.c, добавьте строку:

Module cgi_redirect_module mod_cgi_redirect.o

Затем скомпилируйте ваш httpd, и инсталлируйте его. Чтобы разрешить cgi переадресацию, нужно или создать новый MIME тип в файле mime.types, или использовать команду AddType в вашем srm.conf файле, чтобы добавить тип MIME. Тип MIME, который будет добавлен должен быть чем-нибудь вроде этого:

application/x-httpd-php phtml

Если Вы используете модуль mod_actions.c, Вам нужно добавить следующую строку к вашему файлу srm.conf:

Action application/x-httpd-php /cgi-bin/php.cgi

Если Вы используете mod_cgi_redirect.c, нужно добавить эту строку к srm.conf:

CgiRedirect application/x-httpd-php /cgi-bin/php.cgi

Не пытайтесь одновременно использовать и mod_actions.c, и mod_cgi_redirect.c.

Только если у Вас есть один правильно сконфигурированный cgi модуль переадресации, просто дайте расширение .phtml. Кроме того, если Вы добавляете index.phtml к вашей строке конфигурации DirectoryIndex в файле srm.conf, то верхне-уровневая страница в каталоге будет автоматически анализироваться php, только назовите ваш индексный файл index.phtml.

Netscape HTTPD

Вы можете автоматически переадресовывать запросы к файлам с данным расширением, которые будут обрабатываться PHP/FI, с использованием модуля переадресации CGI сервера Netscape. Этот модуль доступен в файловом архиве на домашней странице PHP/FI. Файл README в пакете подробно объясняет, как конфигурировать модуль для использования с PHP/FI.

NCSA HTTPD

NCSA в настоящее время не поддерживает модули. Чтобы использовать cgi-переадресацию с этим сервером, нужно изменить исходный текст сервера. Патч, для сервера NCSA 1.5 доступен в архиве PHP/FI.


[ Назад | Оглавление | Далее ]









helloworld.ru © 2001-2021
Все права защищены