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

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 = 

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

5. Версия PHP

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

<?php
phpinfo();
?>

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

Для доступа к переменным окружения (environment) не создаются автоматически одноименные переменные PHP. Для доступа к ним нужно использовать функцию getenv. Примеры использования смотрите по ссылке. Там есть пример получения 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, работать не будут.