我使用composer
下载了symfony2 composer create-project symfony/framework-standard-edition path/ "2.5.*"
当我从命令行启动时
php bin/console server:run
显示
Server running on http://localhost:8000
但是当我访问网址时,没有任何内容出现。
在日志文件中,这是写的
[09-Jul-2014 14:04:51 Europe/Berlin] PHP Warning: Uncaught exception 'Symfony\Component\Routing\Exception\ResourceNotFoundException' in C:\xampp\htdocs\Symfony\app\cache\prod\appProdUrlMatcher.php:32
Stack trace:
#0 C:\xampp\htdocs\Symfony\vendor\symfony\symfony\src\Symfony\Component\Routing\Matcher\UrlMatcher.php(106): appProdUrlMatcher->match('/')
#1 C:\xampp\htdocs\Symfony\vendor\symfony\symfony\src\Symfony\Component\Routing\Router.php(233): Symfony\Component\Routing\Matcher\UrlMatcher->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#2 C:\xampp\htdocs\Symfony\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\EventListener\RouterListener.php(125): Symfony\Component\Routing\Router->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#3 [internal function]: Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#4 C:\xampp\htdocs\Symfony\vendor\symfony\symf in C:\xampp\htdocs\Symfony\app\cache\prod\appProdUrlMatcher.php on line 32
答案 0 :(得分:0)
Symfony\Component\Routing\Exception\ResourceNotFoundException
表示未定义的路由名称。看起来你的错误模板{{ path('wrong_route') }}
中有一处。
如果没有其他许多可能性:供应商,缓存或配置问题。
/vendor
composer update
app/cache/dev
和app/cache/prod
文件夹php app/console cache:clear
php app/console assetic:dump
.htaccess问题
检查您的web/.htaccess
文件,它必须如下:
DirectoryIndex app.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
如果启用了mod_rewrite
Apache模块,请检查您的Apache配置
要激活模块,httpd.conf
中的以下行需要处于活动状态:
LoadModule rewrite_module modules/mod_rewrite.so
时区问题
您似乎正在使用欧洲/柏林时间,因此请确保php.ini
中有这一行:date.timezone = "Europe/Berlin"
如果不写的话。
如果仍然无效,请在app/AppKernel.php
中添加以下行,然后再次清除缓存:
public function init()
{
date_default_timezone_set( 'Europe/Berlin' );
parent::init();
}