php - apache2 多个虚拟主机,但只有第一个有效

标签 php apache symfony ubuntu

我在 Ubuntu 上运行 Apache/2.4.12,我在/etc/apache2/sites-available/文件夹中添加了 2 个 .conf 文件,并启用了它们。两个站点都使用相同的 Symfony PHP 文件。

aaa.conf

Listen 8080
<VirtualHost *:8080>


    ServerName local.aaa.com
    ServerAlias www.local.aaa.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/aaa/web
    <Directory "/var/www/html/aaa/web">
           AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/aaa_error.log
    CustomLog ${APACHE_LOG_DIR}/aaa_access.log combined

</VirtualHost>

bbb.conf

Listen 8081
<VirtualHost *:8081>


    ServerName local.bbb.com
    ServerAlias www.local.bbb.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/bbb/web
    <Directory "/var/www/html/bbb/web">
           AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/bbb_error.log
    CustomLog ${APACHE_LOG_DIR}/bbb_access.log combined

</VirtualHost>

我遇到的问题是,在 service apache2 reload 之后,只有我打开的第一个站点有效。例如:

第一种情况
- 我重新加载
- 我打开 local.aaa.com:8080 它有效
- 我打开 local.bbb.com:8081 它不起作用,我收到 PHP fatal error :找不到类 'AppBundle\\AppBundle'

第二种情况
- 我重新加载
- 我打开 local.bbb.com:8081 它有效
- 我打开 local.aaa.com:8080 它不起作用,我收到 PHP fatal error :找不到类 'AppBundle\\AppBundle'

编辑
@瑞安文森特: netstat -a 显示两个站点都在运行

最佳答案

所有的 Listen 指令都应该在 Ubuntu 提供的主 apache 配置文件中(/etc/apache2/apache2.conf)。

sites-enabled 文件夹必须只包含使用 a2ensite 生成的正确符号链接(symbolic link)到 sites-available,这是您必须放置虚拟主机配置的地方。

将它们移到那里后,启用每个虚拟主机并重新加载 apache。

sudo a2ensite aaa.conf
sudo a2ensite bbb.conf
sudo service apache2 reload

关于php - apache2 多个虚拟主机,但只有第一个有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538964/

相关文章:

Symfony2 : Multi tenant roles in FosUserBundle

php - Eloquent fatal error : argument passed not the right instance

php - 如何在 PHP 中为 LOAD DATA 语句提供文件和目录名称

php - 如何显示图像而不是带链接的文本

php - Python 开发 - 将结果存储在 for 循环中

PHP 扩展不会在 Apache 启动时加载

linux - 为什么 mod_revite 在 Apache 中不起作用?

php - Apache 和 MySQL 的 php 输出缓冲的性能影响

symfony - Symfony2 Doctrine 无法识别的字段:

symfony - 如何在 phpunit 功能测试中模拟 symfony Controller 的自动连接服务?