【发布时间】:2015-01-23 15:32:38
【问题描述】:
我得到一个空白屏幕,但这是错误日志的结果。它似乎在 /tmp/build_xxxx...
dev 和 prod 在本地都可以正常工作。
代码在这里...https://github.com/TransformCore/dial-tone-frontend
2014-11-25T14:43:27.388147+00:00 heroku[路由器]: at=info method=GET path="/css/bootstrap.css" host=dial-tone-frontend.herokuapp.com request_id= 1bdcc1f4-4d8b-42b0-a85d-8b265d2665bd fwd="80.5.64.178" dyno=web.1 connect=1ms service=8ms status=500 bytes=208 2014-11-25T14:43:27.388931+00:00 app[web.1]:[2014-11-25 14:43:27] request.CRITICAL:未捕获的 PHP 异常 InvalidArgumentException:“文件”/tmp/build_23552b1c8333d8e8b9b475444451531c/ app/config/routing.yml" 不存在。"在 /app/app/cache/prod/classes.php 第 1575 行 {"exception":"[object] (InvalidArgumentException: 文件 \"/tmp/build_23552b1c8333d8e8b9b475444451531c/app/config/routing.yml\" 不存在。在/app/app/cache/prod/classes.php:1575)"} [] 2014-11-25T14:43:27.390315+00:00 app[web.1]: [25-Nov-2014 14:43:27 UTC] PHP 致命错误:未捕获的异常 'InvalidArgumentException' 带有消息“文件”/tmp /build_23552b1c8333d8e8b9b475444451531c/app/config/routing.yml" 不存在。在 /app/app/cache/prod/classes.php:1575 2014-11-25T14:43:27.390355+00:00 应用程序 [web.1]:堆栈跟踪: 2014-11-25T14:43:27.390525+00:00 app[web.1]:#0 /app/app/cache/prod/classes.php(2301): Symfony\Component\Config\FileLocator->locate(' /tmp/build_2355...',NULL,真) 2014-11-25T14:43:27.390779+00:00 app[web.1]:#1 /app/vendor/symfony/symfony/src/Symfony/Component/Routing/Loader/YamlFileLoader.php(49): Symfony\ Component\HttpKernel\Config\FileLocator->locate('/tmp/build_2355...') 2014-11-25T14:43:27.391220+00:00 app[web.1]:#3 /app/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/DelegatingLoader.php(58): Symfony\ Component\Config\Loader\DelegatingLoader->load('/tmp/build_2355...', NULL) 2014-11-25T14:43:27.391369+00:00 app[web.1]:#4 /app/app/cache/prod/classes.php(1502): Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader->load ('/tmp/build_2355...', NULL) 2014-11-25T14:43:27.391484+00:00 app[web.1]: #5 /app/app/cache/prod/classes.php( 在 /app/app/cache/prod/classes.php 上线1575 2014-11-25T14:43:27.391759+00:00 应用程序 [web.1]: 10.36.138.222 - - [25/Nov/2014:14:43:27 +0000] “GET /css/bootstrap.css HTTP/ 1.1" 500 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36" 2014-11-25T14:43:27.389956+00:00 app[web.1]: [2014-11-25 14:43:27] request.CRITICAL: 处理异常时抛出异常 (Twig_Error_Loader: "/tmp/ build_23552b1c8333d8e8b9b475444451531c/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/views" 目录不存在。) {"exception":"[object] (InvalidArgumentException: The file \"/tmp/build_23552b1c8333d8e8b9b475 /routing.yml\" 不存在。在 /app/app/cache/prod/classes.php:1575)"} [] 2014-11-25T14:43:27.390994+00:00 app[web.1]: #2 /app/vendor/symfony/symfony/src/Symfony/Component/Config/Loader/DelegatingLoader.php(45): Symfony\ Component\Routing\Loader\YamlFileLoader->load('/tmp/build_2355...', NULL)
【问题讨论】:
-
我会在部署前清除缓存并更新作曲家。从您的日志中,看起来某些供应商捆绑包在部署时未正确安装。部署到 heroku 时,终端的输出是什么?
-
我已经按照您的建议完成了,清除缓存并在部署前进行作曲家更新。它部署成功,没有错误。我认为这与导致问题的 build_23552b1c8333d8e8b9b475444451531c 路径有关?
-
不,heroku 默认使用这样的名称构建到 tmp 目录,然后打包您的应用程序以运行。运行
heroku push master后的输出或任何会告诉您确切安装了哪些包的输出。好像少了一些。您可以通过输出和您的 composer.json 并确保它们都在那里。 -
列表中似乎没有任何遗漏
-
我开始了一个新项目,并遵循 Symfony2 和 Heroku 的 Symfony2 文档,它们都给出了相同的错误,即生成的缓存位于错误的路径中。参考:devcenter.heroku.com/articles/getting-started-with-symfony2
标签: php symfony heroku travis-ci