ColoCall | Хостинг и колокейшн провайдер в Украине / Hosting and
[http://www.colocall.net/] Главная Информация О компании Резюме Наши каналы Наши вакансии Контакты Услуги / Тарифы Заказать услугу Услуги провайдерам Регистрация доменов Колокейшн Виртуальный сервер Хостинг Диал-ап Выделенные линии Техвозможность НС Разработка сайтов backup-сервер Прочие услуги Весь прейскурант Споcобы оплаты Поддержка Задать вопрос Ответы на вопросы Памятка клиенту Удаленная консоль Глоссарий О хостинге Диал-ап Почтовые ящики Looking Glass Украинские сети Точное время Сервер новостей BGP-политика Сервис и статистика Колокейшн Хостинг Диал-ап Выделенные линии Почтовый ящик Офтопик О хостинге Особенности работы PHP Как работает PHP? PHP и кодировки Версии PHP Модуль Apache или внешнее приложение? Обращение к переменным окружения (environment) HTTP аутентификация через PHP Как работает PHP? Интерпретатор PHP находится в Вашем домашнем каталоге на сервере в подкаталоге cgi-bin/ . Для того, чтобы документы с расширением .php воспринимались вебсервером, как PHP документы, и соответсвенно запускались через PHP интерпретатор, необходимо, чтобы в файле .htaccess для этого каталога были строки: Action php-script /cgi-bin/php AddHandler php-script .php Вместо .php может стоять список любых других расширений (разделитель - пробел). PHP и кодировки На перекодировку PHP документов влияет файл .htaccess в подкаталоге cgi-bin/ (другими словами, в том каталоге, где находится интерпретатор, а не документы). Версии PHP Поскольку для каждого виртуального сервера используется отдельная копия интерпретатора PHP, то они могут быть разные у разных пользователей. Пользователь, обладающий соответсвующими техническими навыками, сам может скомпилировать в своем домашнем каталоге PHP той версии и с теми параметрами, какими пожелает. Узнать версию своего PHP и некоторые его параметры можно выполнением простого скрипта: Начиная с версии 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()); Модуль Apache или внешнее приложение? PHP у нас работает НЕ как модуль Apache, а как внешнее приложение . Обращение к переменным окружения (environment) Для доступа к переменным окружения (environment) не создаются автоматически одноименные переменные PHP. Для доступа к ним нужно использовать функцию getenv . Примеры испоьзования смотрите на www.php.net/manual/en/function.getenv.php . Там есть пример получения IP адреса клиента, который будет правильно работать и у нас. HTTP аутентификация через PHP HTTP аутентификацию можно использовать только в PHP, работающем, как модуль Apache, поэтому у нас ее использовать нельзя. ООО Колокол Телефон: (380 44) 461-79-88 (многоканальный), (380 44) 486-10-02 - техподдержка (круглосуточно) Электронная почта