【问题标题】:Install Symfony on remote server在远程服务器上安装 Symfony
【发布时间】:2013-01-23 20:20:53
【问题描述】:

我正在尝试评估 Symfony 2 (2.1.7)。我在一个已经在 Apache 上运行 PHP 5.3.20 的 EC2 实例上按照 the download instructions 安装它。

我被困在 README.md 的第二步:“从浏览器访问 config.php 脚本”。自述文件假定本地安装并提供到 localhost 的示例 URL:http://localhost/path/to/symfony/app/web/config.php

由于我在远程服务器上,我尝试使用相关 URL:http://mysite.com/Symfony/app/check.php 访问 config.php 文件,它返回此消息:

    禁止

    您无权访问此服务器上的 /Symfony/app/check.php。

我尝试通过添加 PHP 报告的内容作为我的 REMOTE_ADDR 来应用来自 How do I access to symfony config.php remotely? 的答案,但这不会改变消息。

我现在该怎么办?

【问题讨论】:

  • 检查您的外部 IP 并将其添加到允许的 IP 中(谷歌“我的 ip”,您会发现数以千计的网站提供此服务)
  • 在我看来,我必须允许 Apache 提供文件,然后我才不得不与 PHP 代码搏斗......
  • 更简单,注释php限制。但是不要忘记完成后取消注释。

标签: apache symfony


【解决方案1】:

在 symfony 中,web 文件夹应该是你的 webroot。所以,如果你想访问\project\web\config.php,你应该将你的浏览器指向http://www.example.com/config.php

如果这不起作用,则可能是 apache 配置不正确。确保它指向你的 web 目录,而不是你的项目目录。

edit 正如您在问题中提到的,您还需要编辑 config.php 文件以允许远程访问。您可以将这些行注释掉,或将您的 IP 添加到白名单中。

edit2 许多虚拟主机不允许您指定您的 webroot。在这种情况下,您可以将 Symfony 文件放在不同的目录中,并在 Symfony web 目录和您的 webroot 之间创建一个符号链接。

【讨论】:

  • Oooohhhh....所以如果我已经有一个 Web 根目录 (/var/www/html),并且我使用 composer 在/var/www/html/Symfony 安装 Symfony...我需要设置一个虚拟目录吗?或者只是编辑文件夹/文件权限,因为 Symfony 位于 Web 根目录的子文件夹中?鉴于我预先存在的 Web 根目录,我应该在哪里安装 Symfony?
  • 你可能希望在 www 目录中安装 symfony,然后将 www/html 符号链接到 www/web。此文件结构的目的是让您的源文件完全位于 Web 可访问目录之外。
  • 再想一想,我会将 symfony 放在一个完全不同的目录中,然后再进行符号链接。只是为了让文件夹名称更有意义。
猜你喜欢
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多