Раз виртуальный, значит ищите где настройки 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. за подобные вопросы, которые задаются на каждый чих, карма сливается в два счета.