【问题标题】:symfony2 no routes workingsymfony2 没有路由工作
【发布时间】:2015-06-10 19:54:45
【问题描述】:

最后更新:

这也改变了混乱的drupal,所以我重新安装了xampp,我没有这个问题atm,我认为主题已关闭。

更新:

奇怪的是,我处理了页面上显示的错误。我摆脱了这条线: : throw 0

它似乎有效

但是当我删除 classes.php 中的第 2117 行时(elseif 所以 3 行

  elseif (is_object($controller)) {
  $repr = get_class($controller);
  }

) 在 /opt/lampp/htdocs/Symfony/app/cache/dev/classes.php 我得到一个新的错误,即使我把 elseif 放回去......

这是消息:

哎呀,好像出了点问题。 classes.php 第 2117 行中的 1/1 FatalErrorException:解析错误:语法错误,意外的“elseif”(T_ELSEIF)

在 classes.php 第 2117 行


我明天开始在 Symfony2 上工作,这是我在这方面的第一次专业经验,但奇怪的是,这次我无法让它在我的 Lamp/Kubuntu 上工作。

这是我的尝试:

下载了 kunbutu 下载文件夹: Symfony_Standard_Vendors_2.6.4.zip(所以它在 zip 文件中) mv Symfony ../../../var/www

这些网址不起作用:

http://localhost/Symfony/web/app_dev.php/hello/winzou http://localhost/Symfony/web/app_dev.php/hello/World

显示的两个页面的错误(除了 Get/hello/.. 的明显部分)是: 错误 - 未捕获的 PHP 异常 Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“在 /opt/lampp/htdocs/Symfony/app/cache/dev/classes.php 行 2017 中找不到“GET /hello/winzou”的路由” /p>

in app/cache/dev/classes.php at line 2017  -

if ($referer = $request->headers->get('referer')) {
$message .= sprintf(' (from "%s")', $referer);
}
throw new NotFoundHttpException($message, $e);
} catch (MethodNotAllowedException $e) {
$message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), implode(', ', $e->getAllowedMethods()));
throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e);

at RouterListener ->onKernelRequest (object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))
at call_user_func (array(object(RouterListener), 'onKernelRequest'), object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))
in vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php at line 61  +
at WrappedListener ->__invoke (object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher))
at call_user_func (object(WrappedListener), object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher))
in app/cache/dev/classes.php at line 1790  +
at EventDispatcher ->doDispatch (array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent))
in app/cache/dev/classes.php at line 1723  +
at EventDispatcher ->dispatch ('kernel.request', object(GetResponseEvent))
in app/cache/dev/classes.php at line 1884  +
at ContainerAwareEventDispatcher ->dispatch ('kernel.request', object(GetResponseEvent))
in vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php at line 112  +
at TraceableEventDispatcher ->dispatch ('kernel.request', object(GetResponseEvent))
in app/bootstrap.php.cache at line 3011  +
at HttpKernel ->handleRaw (object(Request), '1')
in app/bootstrap.php.cache at line 2984  +
at HttpKernel ->handle (object(Request), '1', true)
in app/bootstrap.php.cache at line 3133  +
at ContainerAwareHttpKernel ->handle (object(Request), '1', true)
in app/bootstrap.php.cache at line 2377  +
at Kernel ->handle (object(Request))
in web/app_dev.php at line 28  +

和:

[2/2] NotFoundHttpException: 找不到“GET /hello/World”的路由 +

if ($referer = $request->headers->get('referer')) {
$message .= sprintf(' (from "%s")', $referer);
}
throw new NotFoundHttpException($message, $e);
} catch (MethodNotAllowedException $e) {
$message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), implode(', ', $e->getAllowedMethods()));
throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e);


if ($referer = $request->headers->get('referer')) {
$message .= sprintf(' (from "%s")', $referer);
}
throw new NotFoundHttpException($message, $e);
} catch (MethodNotAllowedException $e) {
$message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), implode(', ', $e->getAllowedMethods()));
throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e);

[1/2] ResourceNotFoundException:-

in app/cache/dev/appDevUrlMatcher.php at line 244  -
            }
            throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
        }
    }

它并不漂亮,但这是整个页面显示的内容:


Symfony 在 Symfony 网站上搜索 检测到异常! 找不到“GET /hello/World”的路由 404 未找到 - NotFoundHttpException 1 个关联异常:

ResourceNotFoundException »

[2/2] NotFoundHttpException:找不到“GET /hello/World”的路由 + [1/2] 资源未发现异常:+ 日志 - 1 个错误

ERROR - Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /hello/World"" at /opt/lampp/htdocs/Symfony/app/cache/dev/classes.php line 2017
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\EventDispatcher\Debug\WrappedListener::__invoke".
DEBUG - Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Acme\DemoBundle\EventListener\ControllerListener::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelController".
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController".

堆栈跟踪(纯文本)+


所以我的猜测是更改 classes.php 的 2017 行但是要放什么?

我也按照教程的建议在文件夹 Symfony 中尝试:

chmod 777 -R 应用程序/缓存 chmod 777 -R 应用程序/日志

还是一样的问题...


app/config/routes 确实是空的,没有 routes 文件夹我应该放什么?以及我如何看到 dev 和 prod 之间的区别?

尝试设置 2 和 3,并在步骤 3 中得到:

[router] 当前路由 名称 方法 方案 主机路径
_wdt 任意任意 /_wdt/{token}
_profiler_home 任何 任何 任何 /_profiler/
_profiler_search 任何 任何 任何 /_profiler/search
_profiler_search_bar 任意 任意 /_profiler/search_bar
_profiler_purge 任意 任意 /_profiler/purge
_profiler_info 任何 任何 /_profiler/info/{about}
_profiler_phpinfo 任何 任何 /_profiler/phpinfo
_profiler_search_results 任何 任何 /_profiler/{token}/search/results
_profiler 任意任意 /_profiler/{token}
_profiler_router 任意 任意 /_profiler/{token}/router
_profiler_exception 任意任意 /_profiler/{token}/exception
_profiler_exception_css 任意 任意 /_profiler/{token}/exception.css
_configurator_home 任何 任何 任何 /_configurator/
_configurator_step ANY ANY ANY /_configurator/step/{index}
_configurator_final 任意任意 /_configurator/final
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
主页 ANY ANY ANY /app/example
_欢迎任何任何任何 /
_demo_login 任意任意 /demo/secured/login
_demo_security_check 任何 任何 任何 /demo/secured/login_check
_demo_logout ANY ANY ANY /demo/secured/logout
acme_demo_secured_hello ANY ANY ANY /demo/secured/hello
_demo_secured_hello 任何 任何 任何 /demo/secured/hello/{name}
_demo_secured_hello_admin 任何 任何 任何 /demo/secured/hello/admin/{name}
_demo 任何 任何 /demo/
_demo_hello ANY ANY ANY /demo/hello/{name}
_demo_contact ANY ANY ANY /demo/contact

更新:

奇怪的是,我处理了页面上显示的错误。我摆脱了这条线: : throw 0

它似乎有效

但是当我在 /opt/lampp/htdocs/Symfony/app/cache/dev/classes.php 中删除 classes.php 中的第 2117 行(elseif 所以 3 行)时,即使我把 elseif返回...


这是消息:

哎呀,好像出了点问题。 classes.php 第 2117 行中的 1/1 FatalErrorException:解析错误:语法错误,意外的“elseif”(T_ELSEIF)

in classes.php line 2117

由于我只在 var/www 而不是 opt/ 中开始安装,所以我一无所知,欢迎任何帮助!

【问题讨论】:

  • 如何注册这些路由?有代码吗?
  • 我需要去哪个文件给你代码?默认情况下我做了所有事情,“hello”是安装在 symfony2 中的默认控制器

标签: php symfony lamp kubuntu


【解决方案1】:
  1. 检查你的 app/config/routes(开发和基础)
  2. 在主文件夹运行命令app/console cache:clear 测试它是否工作
  3. 在主文件夹运行命令app/console route:debug查看是否列出了您的路线

【讨论】:

  • 奇怪的是我处理了页面上显示的错误。我摆脱了这条线:[1/2] ResourceNotFoundException:-
  • cd 到 /www/Symfony 并在其中尝试:php app/console cache:clear !!!所有应用程序/缓存文件都是临时的,因此您不能修复它们,因为它们会在某个时候被删除
猜你喜欢
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多