【发布时间】:2013-04-19 14:29:38
【问题描述】:
我曾尝试在我的服务器上集成一个 symfony 项目,但它会产生一个空白页面,即使我在 php 中显示错误,它也不会产生任何错误。在 index.php 中包含配置文件后,没有任何效果,当我尝试此操作时,即使项目配置文件第一行中的 die 也不会打印。
我的 index.php 文件是
error_reporting(E_ALL);
ini_set('display_errors', "1");
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();
我在这里也包括项目配置文件,请检查一下
require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
// ...
$this->dispatcher->connect('request.filter_parameters', array($this, 'filterRequestParameters'));
}
public function filterRequestParameters(sfEvent $event, $parameters)
{
$request = $event->getSubject();
if (preg_match('|Safari/([0-9\.]+)|', $request->getHttpHeader('User-Agent')))
{
$request->setRequestFormat('html');
}
return $parameters;
}
}
我已将 symfony 文件夹包含在项目的 lib 文件夹中。
即使我在开发模式下尝试它也不会产生任何错误也请不要说我已经为所有文件提供了完全权限,包括缓存和日志文件夹。
【问题讨论】:
-
您是否尝试过使用开发控制器访问该页面?使用开发环境的那个?类似于
_dev.php/ / ? -
检查你的错误日志文件,你几乎肯定有语法错误或其他一些语法错误,比如失败的
require。如果在 php.ini 中禁用了display_errors,则屏幕上不会显示语法错误。 -
问题是它没有在任何日志文件上产生任何日志消息。另外我已经在 php.ini 上启用了显示错误。我不知道实际上发生了什么,即使是在 ProjectConfiguration 文件中不起作用的模具。无论如何,谢谢。
-
它返回 200 还是 500 响应?
-
您是否检查过 Sf web 文件夹中是否有任何 php 文件有效?就像用简单的回声制作
test.php或php_info。如果它不起作用,那肯定是 Apache 的配置错误,而不是 Sf 问题。你检查过 Apache 错误日志吗?
标签: php symfony-1.4