::: PHP.com.ua - учимся вместе. ::: ::: PHP.com.ua - учимся вместе. :::



 
   - Вакансия PHP-программист, Днепропетровск...
  - Проблема с передачей переменной в PHP ск...
  - Как хранить конфигурацию cms'ки?
  - Проблема с сортировкой массива
  - коллизии md5
  - Странный глюк функции date
  - Скроллинг в iframe


Главная
Новости
Статьи
Шпаргалки
Файлы
О проекте
Форум
Футболки


FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок.

iName.com.ua - регистрация доменных имен и хороший хостинг.

Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования.

Designclub - Клуб дизайнеров Украины.

Регистрация доменов
Хостинг

 HowtoForge.ORG.UA - Это первый Украинский ресурс развития open source программного обеспечения


Путь: Статьи > Установка и настройка

Установка и настройка

Автор: - Yurik
Дата публикации - 21.5.2005
Просмотров: - 3313

Конфігурування РНР


[p]Конфігурування РНР[/p]
В даному розділі розглянемо деякі способи конфігурування РНР та можливі наслідки цього конфігурування.
[p]Конфігураційні файли[/p]
Основним конфігураційним файлом РНР є php.ini. Саме там містяться основні настройки РНР для вебсервера, які мають вплив на усі скрипти, що обробляються Апачем. Крім того, в РНР передбачена можливість виставлення певних настройок для окремих директорій (через файл .htaccess) або для окремих віртуальних вебсерверів (через httpd.conf або vhosts.conf).Це буде працювати, якщо РНР встановлено як модуль Апача (не як CGI engine) Для того, щоб встановлювати ці настройки в файлах .htaccess необхідно перед ім"ям параметра поставити відповідний модифікатор: php_value для числової чи строкової змінної та php_flag для булевої змінної. Наприклад:



php_flag register_globals off

php_value include_path /var/www/html/mysite/php



Не всі конфігураційні параметри можна встановлювати в .htaccess, деякі можна визначати в httpd.conf або в vhosts.conf. Тоді модифікатори приймають вигляд php_admin_value та php_admin_flag відповідно.
[code]
..........
<VirtualHost *>
ServerName my1.host.com
php_admin_value open_basedir /var/www/html/mysite1/php
............
[/code]
[p]Параметри, що впливають на роботу всіх скриптів.[/p]
engine boolean Якщо РНР встановлено модулем Апача (не CGI), цей параметр
дозволяє включати/виключати РНР парсинг.


max_execution_time integer Максимальний час виконання РНР скрипта в секундах.



memory_limit integer Максимальний об"єм пам"яті, що може виділятися скрипту під виконання.


error_reporting integer Визначає рівень помилок, при яких генеруються повідомлення. Виставляється шляхом додавання бітів:


1 Нормальні помилки

2 Нормальні зауваження

4 Помилки парсингу (синтаксичні помилки)

8 Некритичні зауваження, пов"язані зі стилем програмування


По замовчуванню виставлено 7 - показувати нормальні помилки, зауваження та помилки парсингу.

[p]Параметри, що впливають на стійкість сайта, побудованого на РНР.[/p]
variables_order string Встановлює порядок парсингу (пріорітет) змінних в скриптах, по замовчуванню EGPCS (оточення, GET, POST, Cookie, Session). Тобто, якщо при включеному параметрі register_globals змінні з одинаковими іменами будуть передані методом POST та зареєстровані через сесію, то пріорітет буде мати значення, передане через метод POST.
[quote]
Цей спосіб можна використати для підвищення стійкості сайту. Допустимо, користувачу під час авторизації на сайті в залежності від рівня доступу виставляється сесійна змінна $auth=1 ($auth=2; $auth=3...), і потім, на усіх сторінках рівень доступу користувача перевіряється по цій змінній. Тоді зловмиснику достатньо додати до УРЛ в браузері ?auth=1, і, згідно пріорітетів змінних, значення змінної, переданої в УРЛ (з методом GET) перекриє змінну, виставлену в сесії. Маємо найвищий доступ. Але якщо вказати <br>
<b>variables_order ESGPC</b><br>
то цієї неприємності можна уникнути.
[/quote]

register_globals boolean Визначає, чи буде РНР реєструвати змінні оточення (environment), GET, POST, Cookie, Server як глобальні. Якщо цей прапорець виставлено в off, доступ до згаданих змінних відбувається через відповідні асоціативні масиви.



open_basedir string Визначає верхню директорію, вище якої РНР скрипт не зможе відкривати файли. При цьому символічні лінки будуть розв"язуватися, тому надурити РНР через лінки не вдасться. По замовчуванню дозволено відкривати будь-які файли. Якщо вказати параметр . то за базову директорію буде взято поточну директорію, де знаходиться скрипт. Якщо потрібно вказати кілька директорій, їх розділяють двокрапкою. Якщо директорія не завершується слешом - /var/www/html/incl то базовими директоріями будуть і /var/www/html/ include, і /var/www/html/incld і тд. Щоб чітко визначити базову директорію, необхідно вкінці рядка додати / - /var/www/html/incl/



magic_quotes_gpc boolean Встановлює режим, в якому для операцій GET/POST/COOKIE перед усіма символами ', " \ автоматично проставляються \(бекслеші).



magic_quotes_runtime boolean Встановлює режим, в якому для усіх операцій, що повертають дані "ззовні" - з баз даних, текстових файлів, перед усіма символами ', " \ автоматично проставляються \(бекслеші).



magic_quotes_sybase boolean Якщо даний параметр виставлено, то при включених magic_quotes_runtime та/або magic_quotes_gpc перед одинарними лапками ставляться одинарні лапки а не бекслеш.
[nb]
Встановлення опцій magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase дозволяє уникнути необхідності зайвого використання addslashes() для захисту своїх скриптів від некоректних даних на вході.
[/nb]
enable_dl boolean Для РНР, встановленого як модуль Апача, дозволяє або забороняє динамічно завантажувати додадкові модулі (типу ГД) шляхом використання функції dl(). Цю опцію можна виставляти для кожного віртуального сервера та для кожної директорії.


extension_dir string Директорія, де РНР буде шукати динамічно завантажувані модулі.


extension string Перелік модулів, які будуть завантажуватися при старті РНР автоматично.


safe_mode boolean Визначає, чи РНР буде працювати в безпечному режимі чи ні. Докладніше про це читати [url=http://php.ukrwave.com]тут[/url]
[p]
Аплоад (завантаження) файлів за допомогою РНР
[/p]
upload_tmp_dir string Директорія, куди буде здійснено завантаження файлів при аплоаді. Увага! Користувач, під яким працює РНР мусить мати права на запис в цю директорію.


upload_max_filesize integer Максимальний розмір файла, який буде можна завантажити з допомогою РНР.
[nb]
Саме цей параметр буде визначати максимальний розмір файла, а не MAX_FILE_SIZE в формі для завантаження.[/nb]



Обсудить в ФОРУМе - комментариев ()


Путь: Статьи > Установка и настройка

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Контакты Design by webFaction Ukrainian PHP Group 2004-2005