Директиви на php и тяхното използване

Конфигурационният файл на php се казва "php.ini". Чрез него могат да се променят различни настройки на php. По подразбиране на сървърите са зададени определени настройки, които да удовлетворяват нуждите на всички клиенти. Ако обаче някой от клиентите се нуждае от конкретна настройка, то тя може да се направи посредством php.ini файл в основната директория на потребителя.
Основни директиви на php.ini:
  • memory_limit - тази директива установява максималното количество памет (в байтове), което даден скрипт може да използва. Посредством това се предотвратява използването на цялата достъпна памет на сървъра, от зле написани скриптове. Тази директива има стойност по подразбиране преди php 5.2.0 - 8M, а от 5.2.0 - 16М.
         Пример:
                 memory_limit = 16M
  • max_execution_time - тази директива установява максималното време в секунди което даден скрипт може да се изпълнява преди да бъде терминиран. Стойността по подразбиране е 30.
         Пример:
                max_execution_time = 90 
  •  upload_max_filesize - тази директива установява максималният размер на файл за качване.
         Пример:
                upload_max_filesize = 10M
  • max_input_time - тази директива установява максималното време в секунди, което даден скрипт може да получава данни от POST или GET заявки. Стойността по подразбиране е 60 секунди.
         Пример:
                max_input_time = 90
  • display_errors - тази директива казва на php интерпретатора, ако намери тип грешка описана в error_reporting настройките да я изведе на екрана. Стойността по подразбиране е "ON".
         Пример:
                display_errors = OFF
  • error_reporting - тази директива дефинира какъв тип грешки да бъдат показвани. Съществува единична константа (E_ALL), която указва всички типове грешки освен една (E_STRICT). E_STRICT е добвена в php 5, като идеята и е да насърчава за писане на код по съвременен стандарт. Грешки генерирани от E_STRICT могат да бъдат предупреждения за използване на функции които не са препорачителни.
         Пример:
                error_reporting = E_ALL
както бе споменато E_ALL не включва E_STRICT, така че ако искаме да разрешим и такъв тип грешки, то директивата е следната:
                error_reporting = E_ALL | E_STRICT
Важно е да се отбележи, че даден php.ini файл е валиден за директорията в която е поставен. Ако желаем да го направим глобален за всички директории на даден потребител трябва да създадем (ако нямаме такъв създаден) .htaccess файл, в основната директория на акаунта. Ако имаме създаден такъв файл, то трябва да допишем следният ред в него.
.htaccess файл пример:
  • SetEnv PHPRC /home/user/php.ini
      където "/home/user/php.ini" е пътят до директорията където се намира php.ini файлът който искаме да е глобален за нашите директории.

Намирате ли за полезно?