This version of the page http://www.colocall.net/colocation/php.html (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2013-01-06. The original page over time could change.
ColoCall | Особенности работы PHP


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

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

1. Модуль Apache или внешнее приложение?

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


2. Как изменить настройки?

Глобальные настройки, описанные в системном файле php.ini, можно изменить в файле .user.ini, расположенном в текущем каталоге. Все описанные в нём настройки распространяются на скрипты, находящиеся в текущем каталоге и его подкаталогах. Например, если для работы скриптов нужно разрешить short_open_tag, то в файле ~/htdocs/.user.ini необходимо прописать:

short_open_tag = On


3. Как работает PHP?

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

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

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

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

Кодировка PHP документов устанавливается в файле .user.ini, расположенном в текущем каталоге:

default_charset = "windows-1251"

Если параметр default_charset не определён в файле .user.ini или php.ini, то кодировка PHP документов определяется директивами AddDefaultCharset, AddCharset и т. п. в файле .htaccess, находящемся в подкаталоге cgi-bin/ (другими словами, в том каталоге, где находится интерпретатор, а не документы).


5. Версии PHP

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

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

<?php
phpinfo();
?>


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

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


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

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


8. Запуск PHP-скриптов из cron'а

Для запуска PHP-скрипта из cron'а рекомендуется выполнить соответствующий HTTP запрос. Это можно сделать, например, командой:

lynx -source http://domain.colocall.com/path/script.php >/dev/null

Не рекомендуется выполнять PHP-скрипты непосредственно через интерпретатор PHP, т. к. настройки, прописанные в файле .user.ini, работать не будут.