Бесплатные скрипты : Статьи

главная добавить в избранное карта сайта контакт
Бесплатные скрипты

Создание приложений Java
Практическое введение в программирование на JavaScript
Программирование на языке JAVA
Основы в PHP
PHP/FI Version 2.0


Регистрация сайта в каталогах, раскрутка и оптимизация сайта, контекстная реклама

Бесплатные скрипты: статьи



PHP/FI Version 2.0

Переадресация 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 модулей переадресации, установленных и правильно сконфигурированных , Вы захотите чтобы файл анализировался php/fi просто дав ему расширение файла .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.










DOWNLOADSCRIPTS © 2009-