部署symfony2应用程序

时间:2013-08-21 11:56:05

标签: symfony deployment bundle

我正在尝试在我的生产服务器中部署Symfony2应用程序,但我总是遇到此错误:

[Wed Aug 21 13:34:09 2013] [error] [client 217.116.1.71] PHP Fatal error:  Class 'FEB\\UserBundle\\FEBUserBundle' not found in /var/www/social-apps-nt.com/public_html/FEB/app/AppKernel.php on line 20
[Wed Aug 21 13:34:10 2013] [error] [client 217.116.1.71] PHP Warning:  include(/var/www/social-apps-nt.com/public_html/FEB/src/FEB/UserBundle/FEBUserBundle.php): failed to open stream: Permission denied in /var/www/social-apps-nt.com/public_html/FEB/vendor/composer/ClassLoader.php on line 185

这是我的appKernel.php

<?php

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel
{
    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 FOS\UserBundle\FOSUserBundle(),
            new FEB\UserBundle\FEBUserBundle(),
            new FEB\TwitterBundle\FEBTwitterBundle(),
            new FEB\FacebookBundle\FEBFacebookBundle(),
            new FEB\CMSBundle\FEBCMSBundle(),
            new FEB\TagsBundle\FEBTagsBundle(),
            new FEB\YoutubeBundle\FEBYoutubeBundle(),
            new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
            new Stfalcon\Bundle\TinymceBundle\StfalconTinymceBundle(),
            new FEB\DownloadableBundle\FEBDownloadableBundle(),
            new FEB\EmbeddableBundle\FEBEmbeddableBundle()
        );

        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
            $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
        }

        return $bundles;
    }

    public function registerContainerConfiguration(LoaderInterface $loader)
    {
        $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
    }
}

文件夹和类位于正确的位置和文件夹中。

似乎没有找到我的自定义捆绑包,因为如果我更改行总是在第20行抛出错误。

任何帮助,请????

先谢谢你。

1 个答案:

答案 0 :(得分:0)

关键点是错误消息中的“权限被拒绝”,这意味着它无法打开文件。

检查文件的owner和chmod是否正常,chmod 755在大多数情况下听起来合理。 您可以通过在基于Linux的系统上运行chmod 755 -R src来更改它,还要确保您的Web服务器用户可以访问这些文件。