запись в бд, почему не работает?

MODX revo, mysql
есть 2 разных хостинга один на vps другой на железном сервере под FreeBSD, один и тот-же сайт дублирован на вышеупомянутые сервера, НО! на VPS при попытке выполнить скрипт
<?php
$idu01 = $modx->user->get('id');
$idutmp00 = $modx->user->Profile->get('cardtmp');
$idutmp01 =$idutmp00 + 1;
if($item = $modx->getObject('modUserProfile', ['internalKey' => $idu01]))
{
$item->set('cardtmp', $idutmp01);
}
elseif($item = $modx->newObject('modUserProfile', ['internalKey' => $idu01]))
{
$item->set('cardtmp', $idutmp01);
}
$item->save();
echo $idu01,$idutmp01;
даже эхо не отдаёт просто белая страница, на железном сервере все проходит отлично, скрипт и эхо отрабатывает.
Причём все валиться при попытке выполнить запись в бд, в moduserprofile.map.inc.php добавил массивы, что на vps, что на железяке, а скрипт все ровно валиться на:
if($item = $modx->getObject('modUserProfile', ['internalKey' => $idu01]))
{
$item->set('cardtmp', $idutmp01);
}
elseif($item = $modx->newObject('modUserProfile', ['internalKey' => $idu01]))
{
$item->set('cardtmp', $idutmp01);
}
$item->save();
при этом $idutmp00 получает данные.
Такое ощущение — что, схема на vps криво написана, но на железяке, точно также модифицировал всего 1 файл moduserprofile.map.inc.php и оно работает. WTF!?
unixk0d
28 ноября 2016, 09:54
modx.pro
990
0

Комментарии: 3

unixk0d
28 ноября 2016, 14:28
0
как я понял, ругается на:
Parse error: syntax error, unexpected: if($item = $modx->getObject('modUserProfile', ['internalKey' => $idu01]))
    Дмитрий Меркурьев
    28 ноября 2016, 14:57
    +2
    Массивы вида [] работают начиная с php 5.4
    Скорее всего на одном их хостингов версия ниже.
    Попробуйте так: array('internalKey' => $idu01) должно заработать, либо смените версию php.
      unixk0d
      28 ноября 2016, 15:21
      0
      ОГРОМНОЕ СПАСИБО!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3