Раз виртуальный, значит ищите где настройки php лежат.

хостинг рег.ру виртуальный сервер

У php есть два режима работы и две настройки: обычный режим (когда к нему обращается веб-сервер, к примеру апач) и CLI-режим, то есть при вызове напрямую через консоль. Вот они под веб-сервер настроили, а на клиентский режим забили. Если речь о стороннем хостинге (и наверняка простом шаред), то сами вряд ли сделаете, вряд ли есть доступ к файлу настроек php. Копируйте ошибку и пишите им в саппорт.

ошибку про тайм зону мне выдал не локальный сервер а сервер где расположен хостинг. и я уже много часов пытаюсь победить эту ошибку но пока баз безрезультатно. хотя до этого modx спокойно ставился на мой хостинг. а сейчас почему то не хочет. выдает эту ошибку.

так уж случилось что выпуская новые версии РНР, разработчики решили установить иные настройки временных зон в соответствии со стандартами новыми Они не установили новые, они не установили в принципе. Поэтому и требуется указать таймзону.

рекомендую вам отказаться от опенсервера и поставить вот этот пакет WAMP server - Uniform Server Zero скачать тут можно Гораздо легче всяких опенсерверов, там в этом опенсервере гора всего чего вам не нужно! Лучше Денвера, так как все что входит в состав все свежайшее и новейшее. и работает как часы без всяких ошибок. Та же ошибка что у вас опубликована там же все ясно просто настройки тайм зоны некорректные по отношению к вашей версии РНР, так уж случилось что выпуская новые версии РНР, разработчики решили установить иные настройки временных зон в соответствии со стандартами новыми, зайдите в указанный файл рнр.ini и найдите строку что касается, временной зоны, а какие правки внеси это смотрите на сайте разработчиков РНР

Наверняка многие, кто хоть чуть-чуть знает php, знает и замечательную функцию explode(). Она разбивает строку с указанным разделителем на элементы массива. И вот давайте рассмотрим типичную конструкцию: /* Конвертировать значения через запятую в массив */

$items = explode(',', $items);

/* Создание внутреннего HTML */

foreach ($items as $item) {

$item = trim($item);

$output .= "\n" . "<option value=\"{$item}\">{$item}</option>");

} В чем же здесь ошибка? Здесь логическая ошибка - не проверяется на отсутствие значения $items. Чем это чревато? Тем, что как минимум один цикл foreach обязательно выполнится. Почему? Потому что explode всегда вернет массив минимум с одним, хоть и пустым элементом. Но пустое будет значение у этого элемента, но сам элемент будет, а значит массив уже не пустой. Вот попробуйте выполнить вот эту конструкцию: print "<pre>";

$s = '';

var_dump($s);

$s = explode(",", $s);

var_dump($s);

print count($s);

foreach($s as $f){

var_dump($f);

} Результатом такой ошибки будет, к примеру, вот такой код: <select name="size"><option value="">Выбрать размер</option>

<option value=""></option>

</select> Как видите, здесь есть пустой элемент option.

Чихать не только сюда нужно, но и на любых других форумах только после гугла. Нигде нет помощников по поиску.

я решил раз ошибку выдал при установке этого пакета то она имеет отношение к modx. Ладно теперь сюда буду чихать после поисковиков и других профильных мест...))

Подскажу, но только один раз. Копируете сообщение об ошибке и начинаете гуглить. Это типичная php-ошибка, не относящаяся к MODX-у никак, и она настолько распространенная, что гугл на нее дает ответ почти сразу же. P.S. за подобные вопросы, которые задаются на каждый чих, карма сливается в два счета.