【问题标题】:Two symfony projects on one server/domain一台服务器/域上的两个 symfony 项目
【发布时间】:2017-09-11 21:58:24
【问题描述】:

我创建了两个独立的 symfony 项目,并将它们移动到我的产品服务器,例如:

project1.example.com [/var/www/project1/web]
project2.example.com [/var/www/project2/web]

问题是,当我打开第二个地址时,project1 被启动了。我检查了/var/www/project2/web/app.php,似乎它被正确执行了,但出于某种原因,symfony 加载器使用/var/www/project1/ 路径。当然缓存文件夹被清除了。

任何想法如何诊断问题?

更新

Apache 配置文件:

/etc/apache2/apache2.conf
/etc/apache2/sites-enabled/project1.conf + /etc/apache2/sites-enabled/project2.conf

更新 2

奇怪的是,今天早上情况发生了逆转。这两个地址现在都显示来自project2 的站点。没有修改配置和项目文件。

【问题讨论】:

  • 您在生产中使用什么网络服务器?阿帕奇? nginx?还有什么?
  • 这听起来像是一个错误配置的网络服务器
  • 我不确定这是否是 StackOverflow 的题外话,但由于它似乎是系统管理员问题而不是编程问题,您可能在Serverfault 上运气更好。
  • @axlj Apache 服务器

标签: php symfony symfony-3.2


【解决方案1】:

您需要在 Apache 中启用虚拟主机。

看看我关于它的文章,它应该回答了这个问题:

https://alvinbunk.wordpress.com/2016/11/21/apache-httpd-virtualhost-config/

如果您需要进一步的帮助,您可以随时发布另一个问题。我一直用这个。


编辑 #2 - 基于 Apache 2 conf:

建议您像这样组合 SSL 和 HTTP VirtualHost 端口,并且只在 web 文件夹中添加一个 Directory 指令。 conf 文件中还有其他冗余。在提问之前,请先阅读一些关于 Apache 配置文件的文档。

<VirtualHost *:443 *:80>
    ...
    <Directory /var/www/project1/web>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    ...
</VirtualHost>

对于 Project2 问题,您是否检查了 $APACHE_LOG_DIR 中的日志以查看它们显示的内容?我认为日志通常在/var/log;可能有一个带有 httpd 日志的 httpd 子目录。您需要确保有一个针对 project1.example.com.pl 的传入 GET 请求。如果没有,您需要检查您的所有 hosts 文件以查看它们的设置是否正确。

【讨论】:

  • @axlj 我提到 project2 的 www root 被正确触发,所以我猜 apache conf 不是问题
  • 能否请您展示您的 Apache 配置,或将其发布在 pastebin 上。这听起来确实像一个配置问题。另外,我想你已经更新了各自的hosts 文件?
  • 您只发布了部分配置文件。 Pastebin 有限制吗?
  • 另外,我看不到任何&lt;VirtualHost *:80&gt; 部分。所以我猜你没有阅读我的文章并理解它!
  • 抱歉,我没有注意到 conf 文件中的标签没有被复制。链接已更新。你想要一些其他的配置文件吗?
猜你喜欢
  • 2012-09-02
  • 1970-01-01
  • 2016-02-20
  • 2010-10-24
  • 1970-01-01
  • 2014-11-23
  • 2019-07-27
  • 2014-01-30
  • 1970-01-01
相关资源
最近更新 更多