Symfony的app_dev.php显示" half"源代码

时间:2016-07-13 16:36:15

标签: php symfony apache2.4

我用作曲家下载了它。试图使用PHPStorm的内置服务器运行它并不加载工具栏(404)。

然后我尝试用Apache运行它,我将项目复制到/var/www/html,然后我在浏览器中转到http://localhost/symfony_app/web/app_dev.php

奇怪的是,它部分显示了源代码(但没有换行符):

loadClassCache(); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response); 

此文件(完整)具有以下源代码:

<?php

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;

// If you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#checking-symfony-application-configuration-and-setup
// for more information
//umask(0000);

// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server')
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

/**
 * @var Composer\Autoload\ClassLoader $loader
 */
$loader = require __DIR__.'/../app/autoload.php';
Debug::enable();

$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

在Apache错误日志中没有任何内容,只需重新启动。

该应用程序可以与Symfony的内置服务器一起在端口8000中正常运行

2 个答案:

答案 0 :(得分:0)

同样的事情发生在我做的一个新的流浪汉设置上。我见过的最奇怪的事情。事实证明我已经安装了php5,但并不完全。我需要在Ubuntu中专门安装libapache2-mod-php5包。运行它在Ubuntu中为我安装了它:

sudo apt-get install php5

我不知道你在运行什么系统,但它可能是一个缺少这样的php包,这是罪魁祸首。

答案 1 :(得分:0)

如果您安装了apache2和php并且启用了此问题

mod_rewrite

你可以用:

a2enmod rewrite
在您的终端

并重新安置apache