Параметры конфигурационного файла php5

/etc/php5/apache2/php.ini

(не забудьте сделать копию перед внесением изменений). символ ; в начале строки означает комментарий, и такие строки не засчитываются. поэтому если конфиг нужно изменить (как, например, временную зону), сначала строку необходимо раскомментировать, удалив символ ;. интересны могут быть следующие параметры:

  • max_execution_time — максимальное время выполнения скрипта;
  • memory_limit — максимальная память, выделяемая скрипту;
  • display_errors — вывод ошибок в браузер. настоятельнейшим образом на боевом сервере рекомендую значение off;
  • display_startup_errors — также лучше установить в off;
  • register_globals — автоматическое создание переменных из данных, пришедших с GET/POST/COOKIE. в интернете бытует мнение, что это очень опасно. вовсе нет. опасно неумелое использование. все данные, пришедшие от пользователя, необходимо фильтровать жесточайшим образом. в общем случае лучше установить в off (для увеличения быстродействия запускаемых скриптов);
  • register_long_arrays — создание «длинных» массивов. можно считать уже полных анахронизмом, поэтому однозначно off;
  • register_argc_argv — в скриптах эта штука не используется (ввиду того, что доступ к переменным осуществляется, например, так $_GET[‘val’]), тоже off;
  • auto_globals_jit — в общем случае, off;
  • post_max_size — максимальный размер принимаемых POST-данных;
  • magic_quotes_gpc/magic_quotes_runtime/magic_quotes_sybase — так называемые магические кавычки. использование этого «добра» считаю признаком плохого тона (тем более, что пользы гораздо меньше, нежели защиты). однозначно off;
  • default_charset — умолчательная кодировка, отдаваемых в заголовках. если вы ещё не используете прогрессивную utf-8, можно установить что-то другое (например, windows-1251). но помните, что на эту настройку лучше не рассчитывать: скрипты сами обязаны сообщать корректную кодировку;
  • upload_max_filesize — максимальный размер загружаемых файлов (тех самых, которые отправляются из формы);
  • date.timezone — временная зона. крайне желательно уставить такую зону, в котором должен работать php (это может быть Europe/Moscow);
  • sendmail_path — адрес почтовика. можно сначала проверить, отсылаются ли письма на данный момент. у меня не отсылались, поэтому пришлось устанавливать дополнительную программу и, соответственно, вносить изменения. этот параметр у меня такой:
    /usr/sbin/exim4 -t.