Zend FrameWork 2专辑教程错误:发生404错误页面未找到

时间:2016-09-16 04:38:04

标签: php zend-framework zend-framework2

我按照以下教程实现[骨架应用程序] [1]。

我已经复制粘贴了教程中提供的所有代码,但我收到以下错误:

  

发生404错误

     

找不到页面。

     

路由无法匹配请求的网址。

     

没有例外

我已经交叉检查了StackOverflow中的所有类似问题,但没有一个能够解决我的问题。

有人可以帮助我吗?

请找到以下代码。:

C:\wamp64\www\zend\module\Album\Module.php

<?php

namespace Album;

use Album\Model\AlbumTable;

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

    public function getServiceConfig()
    {
        return array(
            'factories' => array(
                'Album\Model\AlbumTable' =>  function($sm) {
                    $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                    $table = new AlbumTable($dbAdapter);
                    return $table;
                },
            ),
        );
    }    

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

C:\ wamp64 \ WWW \ Zend的\模块\相册\配置\ module.config.php

<?php
return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
        ),
    ),

    'router' => array(
        'routes' => array(
            'album' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/album[/:action][/:id]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Album',
                        'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),

    'view_manager' => array(
        'template_path_stack' => array(
            'album' => __DIR__ . '/../view',
        ),
    ),
);

是否有办法在问题发生的地方进行调试?

.htaccess文件包含以下代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

vhost如下

<VirtualHost *:80>
    ServerName zend
    DocumentRoot c:/wamp64/www/zend/public
    <Directory  "c:/wamp64/www/zend/public/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

主机设置为

127.0.0.1       zend

我正在尝试访问以下链接

http://zend/album

C:\ wamp64 \ WWW \ Zend的\配置\ modules.config.php

return [
    'Zend\Router',
    'Zend\Validator',
    'Application',
    'Album',
];

1 个答案:

答案 0 :(得分:2)

这是因为缓存。

在C:\ wamp64 \ www \ zend \ config \ application.config.php

中禁用了以下内容
'config_cache_enabled' => false,
'module_map_cache_enabled' => false