RSS
 

Хостинг: Борьба с ISPManager – php 5.3, cgi и timezone

18 Aug

Начинаем цикл о борьбе с ISPManager – тема для меня актуальна в связи с тем, что мы сейчас достаточно активно продвигаем наше направление, связанное с хостингом/VPS/выделенными серверами. Сегодня первая заметка, скорее, чтобы не забыть самому.

Дано – FreeBSD 8.2, ISPManager, Apache 2.2, PHP 5.3. Так сказать – bleeding edge :) Переводим ряд клиентов с mod-itk на php-cgi для чуть большего контроля за ресурсами. Включаем клиенту “PHP как CGI” в настройках сайта, и получаем в самом начале вывода скрипта неприятную фразу, ломающую весь дизайн сайта :)

It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for 'EEST/3.0/DST' instead...

Кроме этого, иногда видим warning-и разные. Идем в /usr/local/etc/php.ini – все описано верно. Смотрим, как панель включает PHP в режиме CGI: в домашнем каталоге пользователя возникает каталог php-bin, где лежит php.ini и исполняемый файл php, который состоит из одной строчки:

#!/usr/local/bin/php-cgi

Конечно, можно каждому пользователю недостающие параметры дописывать руками. Но когда пользователей на сервере сотни, нужно более промышленное решение. А глобально решить задачу с warning-ами и таймзонами просто – смотрим на любом из потерпевших сайтов phpinfo(), конкретно нас интересует, где PHP смотрит на дополнительные ini-файлы:

 

Логика такая – если есть php.ini у самого пользователя (а по умолчанию панель пишет каждому пользователю php.ini с парой параметров), то PHP игнорирует системный /usr/local/etc/php.ini, но будет читать все ini-файлы в каталоге /usr/local/etc/php/. Соответственно, создаем файл /usr/local/etc/php/php.ini с парой-тройкой нужных нам строчек:

date.timezone ="Europe/Kiev"
display_errors="Off"
display_startup_errors="Off"

После этого – все работает правильно. Для Centos/Debian пути будут другими, но, надеюсь, направление мысли (что и где искать) понятно.

Далее будет…

 

Tags:

Leave a Reply

You must be logged in to post a comment.

  1. Анатолий

    ноября 4, 2011 at 11:14

    дебильная логика, в стиле исп, спасибо помог Ваш пост

     
  2. Mike

    ноября 4, 2011 at 21:58

    На FreeBSD я сделал так: http://freebsd.pro/topic/2/

     
  3. Sage

    февраля 20, 2012 at 14:17

    Проблема в том, что эти настройки станут не перезаписываемые, то есть дополнительные файлы парсятся после основного)