我的应用程序出了问题,在我的开发环境中,一切都按照应有的方式工作。但在我的托管服务器上,php被解释但它没有在浏览器中显示,它只是下载文件。
视图以slim / twig呈现,当我做一个json响应而不是返回视图时,一切都没问题。
$apiEndpoints = json_decode(file_get_contents(__DIR__.'/ApiController/endpoints.json'));
return $this->view->render($response, 'index.twig', [
'apiEndpoints' => $apiEndpoints,
]);
页面是Application
我在这个服务器上有相同的环境,在另一个应用程序中没有问题,我已经降级了slim / twig。
也许有人在http标头中看到了问题?我觉得它看起来应该如此。
答案 0 :(得分:2)
服务器将响应发送为application/x-httpd-php
,您的浏览器不知道如何处理它。 HTML的内容类型应为text/html
。
$ curl --include http://app.uhc-scorpions.ch/
HTTP/1.1 200 OK
Date: Fri, 17 Feb 2017 06:34:52 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/7.0.10
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: userSession_Session=2quum1alcu5siipkim6qmdqul2; path=/; HttpOnly
Content-Length: 6310
Content-Type: application/x-httpd-php
答案 1 :(得分:0)
感谢您的所有帖子看起来我对渺小的框架感到愚蠢:)
不工作:
imageView
WORKING:
$response->withHeader('Content-type', 'text/html');
return $this->view->render($response, 'index.twig', [
'apiEndpoints' => $apiEndpoints,
]);
现在可行了
答案 2 :(得分:-3)
我不了解您的代码和架构,但为什么视图会进行渲染?很有意义的是,树枝可以渲染视图。所以这个:
return $this->view->render(
应该看起来像这样:
return $twig->render($this->view, array(...