2013-06-12 2 views
1

Я настраиваю Zend Framework 2 на 1 & 1 хостинг сайта после skeleton application tutorial, и у меня возникают проблемы с модулем приложения не загрузкой:Zend Framework 2 на 1 & 1

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 
'Module (Application) could not be initialized.' in /homepages/etc/etc/etc/zendskeletonapplication-master/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php:175 

я нашел кто-то с same error, но они только получают его в модульном тестировании, и я получаю его при загрузке самого сайта. Тем не менее, я попытался изменить настройки module_paths, как описано там, но ошибка не изменилась.

Я предполагаю, что это своего рода 1 & 1-специфическая проблема с загрузкой модуля. Для того, чтобы получить вещи это далеко я уже должен был добавить .htaccess с этими настройками (который устанавливает сервер для использования PHP 5.4.16, несмотря на упоминание о «PHP6»):

AddHandler x-mapp-php6 .php 
AddType x-mapp-php6 .php 
+0

Я очень сомневаюсь, что 1 & 1 работает PHP6 – chrislondon

+0

Как уже упоминалось в моем первоначальном комментарии, это настройки, которые им требуется для использования PHP 5.4. Они объясняют, почему на этой странице (http://faq.1and1.co.uk/scripting/php/5.html). – Joren

ответ

0

Я не думаю, это вопрос 1 & 1. Эта проблема обычно возникает, когда у вас что-то неправильно настроено в модуле.

Проверьте следующие файлы, чтобы убедиться, что они существуют и установлены правильно. Похоже, что вы используете скелет приложения учебник поэтому убедитесь, что следующие файлы соответствуют точно:

/module/Application/Module.php

<?php 
/** 
* Zend Framework (http://framework.zend.com/) 
* 
* @link  http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository 
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com) 
* @license http://framework.zend.com/license/new-bsd New BSD License 
*/ 

namespace Application; 

use Zend\Mvc\ModuleRouteListener; 
use Zend\Mvc\MvcEvent; 

class Module 
{ 
    public function onBootstrap(MvcEvent $e) 
    { 
     $eventManager  = $e->getApplication()->getEventManager(); 
     $moduleRouteListener = new ModuleRouteListener(); 
     $moduleRouteListener->attach($eventManager); 
    } 

    public function getConfig() 
    { 
     return include __DIR__ . '/config/module.config.php'; 
    } 

    public function getAutoloaderConfig() 
    { 
     return array(
      'Zend\Loader\StandardAutoloader' => array(
       'namespaces' => array(
        __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
       ), 
      ), 
     ); 
    } 
} 

/модуль/Приложение/config/module.config.php

<?php 
/** 
* Zend Framework (http://framework.zend.com/) 
* 
* @link  http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository 
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com) 
* @license http://framework.zend.com/license/new-bsd New BSD License 
*/ 

return array(
    'router' => array(
     'routes' => array(
      'home' => array(
       'type' => 'Zend\Mvc\Router\Http\Literal', 
       'options' => array(
        'route' => '/', 
        'defaults' => array(
         'controller' => 'Application\Controller\Index', 
         'action'  => 'index', 
        ), 
       ), 
      ), 
      // The following is a route to simplify getting started creating 
      // new controllers and actions without needing to create a new 
      // module. Simply drop new controllers in, and you can access them 
      // using the path /application/:controller/:action 
      'application' => array(
       'type' => 'Literal', 
       'options' => array(
        'route' => '/application', 
        'defaults' => array(
         '__NAMESPACE__' => 'Application\Controller', 
         'controller' => 'Index', 
         'action'  => 'index', 
        ), 
       ), 
       'may_terminate' => true, 
       'child_routes' => array(
        'default' => array(
         'type' => 'Segment', 
         'options' => array(
          'route' => '/[:controller[/:action]]', 
          'constraints' => array(
           'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 
           'action'  => '[a-zA-Z][a-zA-Z0-9_-]*', 
          ), 
          'defaults' => array(
          ), 
         ), 
        ), 
       ), 
      ), 
     ), 
    ), 
    'service_manager' => array(
     'abstract_factories' => array(
      'Zend\Cache\Service\StorageCacheAbstractServiceFactory', 
      'Zend\Log\LoggerAbstractServiceFactory', 
     ), 
     'aliases' => array(
      'translator' => 'MvcTranslator', 
     ), 
    ), 
    'translator' => array(
     'locale' => 'en_US', 
     'translation_file_patterns' => array(
      array(
       'type'  => 'gettext', 
       'base_dir' => __DIR__ . '/../language', 
       'pattern' => '%s.mo', 
      ), 
     ), 
    ), 
    'controllers' => array(
     'invokables' => array(
      'Application\Controller\Index' => 'Application\Controller\IndexController' 
     ), 
    ), 
    'view_manager' => array(
     'display_not_found_reason' => true, 
     'display_exceptions'  => true, 
     'doctype'     => 'HTML5', 
     'not_found_template'  => 'error/404', 
     'exception_template'  => 'error/index', 
     'template_map' => array(
      'layout/layout'   => __DIR__ . '/../view/layout/layout.phtml', 
      'application/index/index' => __DIR__ . '/../view/application/index/index.phtml', 
      'error/404'    => __DIR__ . '/../view/error/404.phtml', 
      'error/index'    => __DIR__ . '/../view/error/index.phtml', 
     ), 
     'template_path_stack' => array(
      __DIR__ . '/../view', 
     ), 
    ), 
); 
+0

Спасибо за сообщение! Я проверил эти файлы, и, пока их _contents_ точно совпали, их обломок имени файла сделал _not_. Оказывается, что 1 и 1 имеет псевдоним в bash (SSH), определенный для unzip (я проверял тройку своих псевдонимов, чтобы убедиться, что это не из одной из моих псевдонимов) «unzip -L», что делает все, что он извлекает в нижнем регистре , Я просто извлек на свою локальную машину и загрузил файлы вместо этого, и все время работало и работало. :) – Joren

Смежные вопросы