2016-07-20 1 views
1

Я потратил полдня, чтобы решить эту проблему без успеха.zf2 Zend ServiceManager Exception ServiceNotCreatedException

Я делаю установку в EC2, centos 6/64 бит. ЛАМПА установлена. На другом хостинге мое решение zf2 работает нормально, поэтому я также искал проблему в установленных php-модулях (список в конце).

Эта ошибка возникает, когда zf2 пытается получить экземпляр моей пользовательской службы, а также почты wasabi.

\ Зенд \ Config \ application.config.php

'config_glob_paths' => array(
     './config/autoload/{,*.}{global,local}.php', 
    ), 

\ Зенда \ Config \ Автозагрузка \ global.php

 'service_manager' => array(
    'factories' => array(
     'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory', 

     'Zend\CustomLogger' => function ($sm) { 
      $auth = $sm->get('zfcuser_auth_service'); 

      $customLogger = new \Application\Service\CustomLogger(
        $sm->get('Request'), 
        $sm->get('ZendLog'), 
        new \Zend\Session\SessionManager(), 
        $auth->getIdentity(), // $user 
        $sm->get('Mail')); 

      return $customLogger; 
     }, 

Контроллер

<?php 
namespace Foo\Controller; 
    use Zend\Mvc\Controller\AbstractActionController; 
    use Zend\View\Model\ViewModel; 
    use Doctrine\ORM\EntityManager; 
    use MyProject\Proxies\__CG__\OtherProject\Proxies\__CG__\stdClass; 

    class FooController extends AbstractActionController 
    { 
     protected $customLogger; 

     private function getCustomLogger() 
     { 
      if (null === $this->customLogger) { 
       $this->customLogger = $this->getServiceLocator()->get('Zend\CustomLogger'); 
      } 
      return $this->customLogger; 
     } 

     public function indexAction() 
     { 
      $this->getCustomLogger(); 

      $this->customLogger->controllerLog("ENTER IN Foo\Controller\FooController\index", "info"); 


      // .... other code 
     } 
    } 

Ошибка

Zend\ServiceManager\Exception\ServiceNotCreatedException 
File: 
/var/www/solutions/mysolution/zend/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:930 
Message: 
An exception was raised while creating "Zend\CustomLogger"; no instance returned 

PHP модули установлены

bz2.so  curl.so fileinfo.so iconv.so mbstring.so  mysqlnd.so  pdo_sqlite.so shmop.so  sqlite3.so sysvshm.so xmlreader.so xsl.so 
calendar.so dom.so ftp.so  intl.so mysqlnd_mysqli.so pdo_mysqlnd.so phar.so  simplexml.so sysvmsg.so tokenizer.so xml.so  zip.so 
ctype.so  exif.so gettext.so json.so mysqlnd_mysql.so pdo.so   posix.so  sockets.so sysvsem.so wddx.so  xmlwriter.so 

Extension включена в PHP INI

extension=/usr/lib64/php/5.5/modules/php_bz2.so 
extension=/usr/lib64/php/5.5/modules/php_curl.so 
extension=/usr/lib64/php/5.5/modules/php_fileinfo.so 
extension=/usr/lib64/php/5.5/modules/php_gd2.so 
extension=/usr/lib64/php/5.5/modules/php_intl.so 
extension=/usr/lib64/php/5.5/modules/php_mbstring.so 
extension=/usr/lib64/php/5.5/modules/php_mysql.so 
extension=/usr/lib64/php/5.5/modules/php_mysqli.so 
extension=/usr/lib64/php/5.5/modules/php_openssl.so 
extension=/usr/lib64/php/5.5/modules/php_pdo_mysql.so 
extension=/usr/lib64/php/5.5/modules/php_soap.so 
extension=/usr/lib64/php/5.5/modules/php_xmlrpc.so 
extension=/usr/lib64/php/5.5/modules/php_xsl.so 

ответ

1

Так простое решение ... разрешение на каталог журналов и некоторые другие директории неверны. Восстановите правильное разрешение, пользователь и группу в каталоге (например, данные/журналы, данные/кеш ...)

+0

Вы можете принять свой собственный asnwer, когда узнаете решение самостоятельно :) – Fge

+0

Спасибо! Да, но stackoverflow говорит: «Вы можете принять свой собственный ответ завтра»;) – gmaccario