Zend framework2 没有实例返回Zend Framework 2?

Zend framework2 没有实例返回Zend Framework 2?,zend-framework2,instance,adapter,cpanel,Zend Framework2,Instance,Adapter,Cpanel,我已经开发了一个项目,并成功地在我的本地机器上工作。在live站点上,我在public_html中创建了一个文件夹dev,并将同一项目从本地机器上移动,但它给了我以下错误 Zend\ServiceManager\Exception\ServiceNotCreateDexException Zend\ServiceManager\Exception\ServiceNotCreateDexException Zend\Db\Adapter\Exception\RuntimeException 我的服

我已经开发了一个项目,并成功地在我的本地机器上工作。在live站点上,我在public_html中创建了一个文件夹dev,并将同一项目从本地机器上移动,但它给了我以下错误

Zend\ServiceManager\Exception\ServiceNotCreateDexException

Zend\ServiceManager\Exception\ServiceNotCreateDexException

Zend\Db\Adapter\Exception\RuntimeException

我的服务工厂意味着model.config.php文件是:

<?php
    namespace Front;
    /*use Zend\ModuleManager\ModuleManager;*/
    class Module
    {
        public function getAutoloaderConfig()
        {
            return array('Zend\Loader\StandardAutoloader' =>
                array('namespaces' =>
                    array(__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,),
                ),
            );
        }
    /*    public function init(ModuleManager $moduleManager)
        {
            $sharedEvents = $moduleManager->getEventManager()->getSharedManager();
            $sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
                // This event will only be fired when an ActionController under the MyModule namespace is dispatched.
                $controller = $e->getTarget();
                $controller->layout('layout/frontlayout');
            }, 100);
        }
    */
        public function getConfig()
        {
            return include __DIR__ . '/config/module.config.php';
        }
        // Add this method:
        public function getServiceConfig()
        {
            return array(
                'factories' => array(

                    'Front\Model\Cms' =>  function($sm) {
                        $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                        $table     = new \Front\Model\Cms($dbAdapter);
                        return $table;
                    },

                    'Front\Model\Slider' => function($sm) {
                        $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                        $table     = new \Front\Model\Slider($dbAdapter);
                        return $table;
                    },

                ),
            );
        }
    }
    ?>
此适配器需要PDO扩展,但未加载扩展

这就给出了答案:php有一个名为pdo的模块。这是现代php安装中提供的一个模块,它支持php应用程序的数据库访问

我认为可能有三个原因:

  • 您没有安装pdo模块
  • 已安装pdo作为模块,但未启用
  • 您有一个旧版本的php。对于Zend Framework 2,至少需要php 5.3.3

  • 因此,您可能必须升级或配置服务器才能使其正常工作。

    感谢您的重播。它解决了我的PDO必需错误。但无法解决第一个错误Zend\ServiceManager\Exception\ServiceNotCreatedException文件:/home/projectname/public\u html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:859消息:创建“页面/模型/质量”时引发异常;没有返回实例您能否解释1)在何处实例化模型2)工厂的外观以及3)是否存在堆栈跟踪中显示的任何以前的异常。那么回答第一个问题就容易多了。@Sluiman我已经更新了我的问题,请看并给我正确的答案
    File: /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:859
    Message: An exception was raised while creating "Zend\Db\Adapter\Adapter"; no instance returned
    
    File: /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php:218
    Message: The PDO extension is required for this adapter but the extension is not loaded..
    
    <?php
        namespace Front;
        /*use Zend\ModuleManager\ModuleManager;*/
        class Module
        {
            public function getAutoloaderConfig()
            {
                return array('Zend\Loader\StandardAutoloader' =>
                    array('namespaces' =>
                        array(__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,),
                    ),
                );
            }
        /*    public function init(ModuleManager $moduleManager)
            {
                $sharedEvents = $moduleManager->getEventManager()->getSharedManager();
                $sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
                    // This event will only be fired when an ActionController under the MyModule namespace is dispatched.
                    $controller = $e->getTarget();
                    $controller->layout('layout/frontlayout');
                }, 100);
            }
        */
            public function getConfig()
            {
                return include __DIR__ . '/config/module.config.php';
            }
            // Add this method:
            public function getServiceConfig()
            {
                return array(
                    'factories' => array(
    
                        'Front\Model\Cms' =>  function($sm) {
                            $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                            $table     = new \Front\Model\Cms($dbAdapter);
                            return $table;
                        },
    
                        'Front\Model\Slider' => function($sm) {
                            $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                            $table     = new \Front\Model\Slider($dbAdapter);
                            return $table;
                        },
    
                    ),
                );
            }
        }
        ?>
    
    File: /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:859
    Message: An exception was raised while creating "Front/Model/Slider"; no instance returned
    
    #0 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(984): Zend\ServiceManager\ServiceManager->createServiceViaCallback(Object(Closure), 'frontmodelslide...', 'Front/Model/Sli...')
    #1 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(597): Zend\ServiceManager\ServiceManager->createFromFactory('frontmodelslide...', 'Front/Model/Sli...')
    #2 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(556): Zend\ServiceManager\ServiceManager->doCreate('Front/Model/Sli...', 'frontmodelslide...')
    #3 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(480): Zend\ServiceManager\ServiceManager->create(Array)
    #4 /home/projectname/public_html/dev/module/Front/src/Front/Controller/FrontController.php(65): Zend\ServiceManager\ServiceManager->get('Front/Model/Sli...')
    #5 /home/projectname/public_html/dev/module/Front/src/Front/Controller/FrontController.php(53): Front\Controller\FrontController->getSlider()
    #6 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(83): Front\Controller\FrontController->indexAction()
    #7 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
    #8 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
    #9 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
    #10 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(117): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
    #11 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(114): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))
    #12 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
    #13 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
    #14 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
    #15 /home/projectname/public_html/dev/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(309): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
    #16 /home/projectname/public_html/dev/public/index.php(17): Zend\Mvc\Application->run()
    #17 {main}