This version of the page http://www.colocall.net/php.html (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2006-11-05. The original page over time could change.
ColoCall | Хостинг и колокейшн провайдер в Украине / Hosting and colocation in Ukraine
Главная

Информация

О компании
Резюме
Наши каналы
Контакты

Услуги / Тарифы

Заказать услугу
Услуги провайдерам
Домены
Колокейшн
Хостинг
Диал-ап
Выделенные линии
Техвозможность НС
Прочие услуги
Весь прейскурант
Споcобы оплаты

Поддержка

Задать вопрос
Ответы на вопросы
Памятка клиенту
Удаленная консоль
Глоссарий
О хостинге
Диал-ап
Почтовые ящики
Looking Glass
Украинские сети
Точное время
BGP-политика

Сервис и статистика

Колокейшн
Хостинг
Диал-ап
Выделенные линии
Почтовый ящик

Офтопик











О хостинге

Особенности работы PHP

  1. Как работает PHP?
  2. PHP и кодировки
  3. Версии PHP
  4. Модуль Apache или внешнее приложение?
  5. Обращение к переменным окружения (environment)
  6. HTTP аутентификация через PHP
  1. Как работает PHP?

    Интерпретатор PHP находится в Вашем домашнем каталоге на сервере в подкаталоге cgi-bin/. Для того, чтобы документы с расширением .php воспринимались вебсервером, как PHP документы, и соответсвенно запускались через PHP интерпретатор, необходимо, чтобы в файле .htaccess для этого каталога были строки:

        Action php-script /cgi-bin/php
        AddHandler php-script .php 
    

    Вместо .php может стоять список любых других расширений (разделитель - пробел).

  2. PHP и кодировки

    На перекодировку PHP документов влияет файл .htaccess в подкаталоге cgi-bin/ (другими словами, в том каталоге, где находится интерпретатор, а не документы).

  3. Версии PHP

    Поскольку для каждого виртуального сервера используется отдельная копия интерпретатора PHP, то они могут быть разные у разных пользователей. В каталоге /virt/php/ находятся различные версии PHP и файлы конфигурации к ним. Пользовавтель может самостоятельно копировать их вместо установленного по умолчанию PHP в его домашнем каталоге.

    Кроме того, пользователь, обладающий соответсвующими техническими навыками, сам может скомпилировать в своем домашнем каталоге PHP той версии и с теми параметрами, какими пожелает.

    Узнать версию своего PHP и некоторые его параметры можно выполнением простого скрипта:

    <?
    phpinfo();
    ?>
    

    Начиная с версии PHP 5.0.5, а также 5.1, разработчики PHP усилили требования к коду. В частности, это касается работы функций, которые требуют в качестве аргументов - ссылки на переменные, массивы и т.п.

    В частности, код приведённый ниже и нормально работающий на PHP 4.4, начиная с версии PHP 5.0.5 выдаёт сообщение об ошибке вида: Fatal error: Only variables can be passed by reference in....

    function Foo(&$data) {
      // do some code with $data
    }
      
    function Bar() {
      return "Hello world";
    }
    
    echo Foo(Bar());
    

    Теперь при вызове функции Foo(), требующей передачи ей ссылки на переменную (для непосредственной её модификации в функции) с аргументом, являющимся другой функцией, PHP 5.0.5 отказывается выполнять этот код по причине его "неграмотности".

    Для решения данной проблемы необходимо немного видоизменить код, вводя временную переменную. Правильный (и к тому же работающий на PHP 5.0.5, а также 5.1) вызов функции выглядит так:

    $tmp_var = Bar();
    echo Foo($tmp_var);
    

    Или в сокращённом варианте:

    echo Foo($tmp_var = Bar());
    
    
  4. Модуль Apache или внешнее приложение?

    PHP у нас работает НЕ как модуль Apache, а как внешнее приложение.

  5. Обращение к переменным окружения (environment)

    Для доступа к переменным окружения (environment)не создаются автоматически одноименные переменные PHP. Для доступа к ним нужно использовать функцию getenv. Примеры испоьзования смотрите на www.php.net/manual/en/function.getenv.php. Там есть пример получения IP адреса клиента, который будет правильно работать и у нас.

  6. HTTP аутентификация через PHP

    HTTP аутентификацию можно использовать только в PHP, работающем, как модуль Apache, поэтому у нас ее использовать нельзя.


ООО Колокол
Телефон: (380 44) 461-79-88 (многоканальный),
(380 44) 486-10-02 - техподдержка (круглосуточно)
Электронная почта