【问题标题】:Virtual Host won't run Symfony2虚拟主机不会运行 Symfony2
【发布时间】:2015-06-18 13:24:00
【问题描述】:

我已经安装了Apache2,并在我的虚拟主机上设置了这个指向我的 symfony 项目。

<VirtualHost *:80>

    ServerName topbesterp
    ServerAlias www.topbesterp.tld

    DocumentRoot /var/www/topbesterp/web/

    <Directory /var/www/topbesterp/web/>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>

    <Directory /var/www/topbesterp/web/>
         Options FollowSymlinks
    </Directory>

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined

</VirtualHost>

我已在apache2.conf 末尾添加代码。

这些是我为主机文件添加的内容

127.0.0.1   localhost
127.0.0.1   topbesterp

每当我在浏览器上运行http://topbesterp 时,我都会收到一个空白页面。 但是每当我将虚拟主机的目录更改为非基于 symfony 的项目时,它运行正常。为什么?

【问题讨论】:

  • 你添加DirectoryIndex /var/www/topbesterp/web/app.php了吗?另外,日志告诉你什么?
  • 我忘记查看日志了。目录一切正常。然后在我检查日志后,我看到 symfony 的 cahche 和日志文件夹没有权限。我给了它许可,那么现在一切都很好。谢谢!
  • 当你这样做时会显示什么:http://topbesterp/app_dev.php?

标签: php apache symfony


【解决方案1】:

假设您在 LAMP 环境中,请按照以下步骤操作。如果是 MAC 则为this

1.

sudo nano /etc/apache2/sites-available/topbesterp.local.conf


<VirtualHost *:80>
    ServerName topbesterp.local
    ServerAlias www.topbesterp.local
    ServerAdmin admin@topbesterp.local

    DocumentRoot /var/www/topbesterp/web

    <Directory /var/www/topbesterp/web/>
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/topbesterp.local.error.log
    CustomLog ${APACHE_LOG_DIR}/topbesterp.local.access.log combined
</VirtualHost>

2.

sudo a2ensite topbesterp.local.conf
sudo service apache2 restart

3.

sudo nano /etc/hosts

127.0.0.1       topbesterp.local www.topbesterp.local

【讨论】:

    【解决方案2】:

    替换/var/www/topbesterp/web/

    /var/www/topbesterp/web/app_dev.php
    

    /var/www/topbesterp/web/app_dev.php
    

    【讨论】:

      【解决方案3】:

      实际上,你并没有在你的虚拟主机中指定目录索引,试试这个来获取 symfony2 的首页(app_dev.php 用于开发/app.php 用于生产):

      <VirtualHost *:80>
      
      ServerName topbesterp
      ServerAlias www.topbesterp.tld
      
      DocumentRoot /var/www/topbesterp/web
      
      <Directory /var/www/topbesterp/web>
          DirectoryIndex app_dev.php
          AllowOverride All
          Order Allow,Deny
          Allow from All
      </Directory>
      
      <Directory /var/www/topbesterp/web/>
           Options FollowSymlinks
      </Directory>
      
      ErrorLog /var/log/apache2/project_error.log
      CustomLog /var/log/apache2/project_access.log combined
      
      </VirtualHost>
      

      【讨论】:

        【解决方案4】:

        根据我的评论,您需要检查app/logs/dev.logapp/logs/prod.log,具体取决于您运行应用程序的环境。

        如果您在 cache/logs 文件夹中看到一些写入错误,则需要为 app/cache/*app/logs/* 文件夹设置适当的权限。

        Alternatively, you can add umask(0000); at the beginning of the following files:

        • app/console
        • web/app_dev.php
        • web/app.php

        你会很高兴的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-03
          • 1970-01-01
          • 1970-01-01
          • 2013-12-31
          • 2016-01-03
          • 2012-01-01
          • 1970-01-01
          相关资源
          最近更新 更多