symfony 中的 dompdf 仅适用于开发环境
dompdf in symfony only works in dev envirenment
我在我的 symfony2 项目 (2.6.*) 中使用 dompdf-bundle (slik/dompdf-bundle) 从 html 生成 pdf。这在开发(app_dev.php)和生产模式的我的开发环境(MAMP)中运行良好。
在产品环境中,我收到一个错误,其中包含完全相同的数据 (DB) 和代码 (GIT)。所以我检查了服务器的配置(PHP-version)。搞笑:当我 运行 产品环境与 app_dev.php 一代工作正常!!! app.php 和 app_dev.php 有什么不同?
我得到的错误:
Error message in german
我的AppKernel.php:
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new GaertnerhuusBundle\GaertnerhuusBundle(),
new GaertnerhuusAdminBundle\GaertnerhuusAdminBundle(),
new Slik\DompdfBundle\SlikDompdfBundle()
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
我用 work-around 解决了我的问题。我用 mpdf 包替换了 dompdf 包。这个适用于我的解决方案:
https://github.com/tasmanianfox/MpdfPortBundle
我在我的 symfony2 项目 (2.6.*) 中使用 dompdf-bundle (slik/dompdf-bundle) 从 html 生成 pdf。这在开发(app_dev.php)和生产模式的我的开发环境(MAMP)中运行良好。
在产品环境中,我收到一个错误,其中包含完全相同的数据 (DB) 和代码 (GIT)。所以我检查了服务器的配置(PHP-version)。搞笑:当我 运行 产品环境与 app_dev.php 一代工作正常!!! app.php 和 app_dev.php 有什么不同?
我得到的错误: Error message in german
我的AppKernel.php:
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new GaertnerhuusBundle\GaertnerhuusBundle(),
new GaertnerhuusAdminBundle\GaertnerhuusAdminBundle(),
new Slik\DompdfBundle\SlikDompdfBundle()
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
我用 work-around 解决了我的问题。我用 mpdf 包替换了 dompdf 包。这个适用于我的解决方案: https://github.com/tasmanianfox/MpdfPortBundle