Я работаю с ZF2 с MongoDB и Doctrine 2 ODM, я получил вышеупомянутую ошибку в New Relic (новая реликвия постоянно проверяет живую среду и регистрирует ошибки). Я получил следующую ошибку:
syntax error, unexpected ''sidebar_bann' (T_ENCAPSED_AND_WHITESPACE), expecting ']' TracedError reported from New Relic Timestamp: 02/26/14 10:49:15 Exception Class: E_PARSE Error Action: /index.php Uri: /blog Error message E_PARSE: syntax error, unexpected ''sidebar_bann' (T_ENCAPSED_AND_WHITESPACE), expecting ']'
и трассировка стека указала на:
…dor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Hydrator/ HydratorFactory.php (144) …dor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Hydrator/ in Doctrine\ODM\MongoDB\Hydrator\HydratorFactory::getHydratorFor called at /vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Hydrator/HydratorFactory.php HydratorFactory.php (404) /vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/ UnitOfWork.php (2518) /vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/ Cursor.php (118) in Doctrine\ODM\MongoDB\Cursor::current called at ? …alled at /vendor/doctrine/mongodb/lib/Doctrine/MongoDB/ Cursor.php (371) …alled at /vendor/doctrine/mongodb/lib/Doctrine/MongoDB/ Cursor.php (419) …alled at /vendor/doctrine/mongodb/lib/Doctrine/MongoDB/ Cursor.php (372) …alled at /vendor/doctrine/mongodb/lib/Doctrine/MongoDB/ Cursor.php (384) … at /vendor/doctrine/mongodb/lib/Doctrine/MongoDB/Query/ Query.php (277) …ult called at /module/Blog/src/Blog/Service/ BlogCustomization.php (552) …ain called at /module/Blog/src/Blog/Controller/ BlogController.php (116) …r/www/env2/vendor/ZF2/library/Zend/Mvc/Controller/ AbstractActionController.php (83) in Zend\Mvc\Controller\AbstractActionController::onDispatch called at ? (?) … called at /vendor/ZF2/library/Zend/EventManager/ EventManager.php (460) … called at /vendor/ZF2/library/Zend/EventManager/ EventManager.php (204) …at /vendor/ZF2/library/Zend/Mvc/Controller/ AbstractController.php (117) …patch called at /vendor/ZF2/library/Zend/Mvc/ DispatchListener.php (114) in Zend\Mvc\DispatchListener::onDispatch called at ? (?) … called at /vendor/ZF2/library/Zend/EventManager/ EventManager.php (460)
Пожалуйста, помогите мне найти причину этой ошибки.
I ', вызывая функцию из контроллера (BlogController.php (116)), функция getUserIdByDomain ($ domain), которая была написана на BlogCustomization.php (552)
Параметр всегда должен быть поддоменом, например: prodtest-05.xxx.com. Это всегда должно быть строковое значение, а не массив, поскольку я беру его из $ _SERVER ['HTTP_HOST']. Код будет таким:
В контроллере
$hostname = $_SERVER['HTTP_HOST']; $result = $model->getUserIdByDomain($hostname);
В модели
$dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default'); $blog_query = $dm->createQueryBuilder('Blog\Document\Blog') ->field('subdomain')->equals($domain); $blog_query = $blog_query->getQuery(); $blog = $blog_query->getSingleResult();
Ошибка указывает на эту строку. Не могли бы вы рассказать мне больше об этом?
Удали ли вы искать в index.php или blog / index.php или контроллерах, которые их называют? Где-то у вас простая синтаксическая ошибка php. Вероятно, найдите что-то, что является массивом и ключевым значением в регулярной строке, например
echo '$arrayVar['keyname']';
эти одинарные кавычки будут получать вас каждый раз, если вы не будете осторожны