【问题标题】:Steps to move Symfony 2 project to hosting?将 Symfony 2 项目迁移到托管的步骤?
【发布时间】:2012-09-17 15:13:26
【问题描述】:

我已经阅读了很多关于在生产服务器上部署 Symfony 2 项目的文章和问题,但仍然不清楚。 Symfony 项目的部署看起来就像一个地狱——没有人知道如何正确地做到这一点。我想我看到的最好的话题是Deploying a Symfony2 project,但仍然有很多不清楚的地方。我读了它,发现在那个问题中,人将他自己的 IP 添加到允许 IP 列表中,但这意味着只有这个 IP 可以访问这个站点,但我需要允许每个人使用它。

我怎样才能让网站使用路径www.mydomen.com,而不是www.mydomen.com/web/app_dev.php/index(我可以通过Symfony 更正路径,但它在app_dev.php 和通过托管之后工作,但它如何在/app_dev.php 之前工作? 似乎 app-dev.php 应该始终在我的路径中)。

那么我应该如何正确地将开发的项目从本地服务器逐步转移到生产服务器?

【问题讨论】:

标签: symfony


【解决方案1】:

好的,我了解了如何在共享主机上正确部署应用程序。这里是:

  1. 这取决于您拥有的主机类型:如果您有 SSH 控制台,那么您可以在第 2 步之后在主机上执行此操作,如果您还没有 然后在本地执行:运行命令php app/console cache:clear --env=prod
  2. 假设您有托管文件夹youdomain/public_html,所以在 public_html 必须位于所有 Web 文件中。您必须从 Symfony 项目上传所有内容(文件夹:app、src、vendors、bin;文件:deps、deps.lock),文件夹 web 中的文件夹 youdomain 除外。文件夹 web 中的所有内容都应上传到文件夹 public_html
  3. 检查文件夹 app/cache 和 app/logs 的 CHMOD,应该有 写入权限。
  4. 如果public_html 中没有文件.htaccess,则创建它并在其中添加这样的代码:https://raw.github.com/symfony/symfony-standard/master/web/.htaccess
  5. 现在您应该使用youdomain.com/index 而不是 youdomain.com/app_dev.php/index,您在本地使用。

如果您的站点仍然无法运行,您可以打开文件web/config.php 并找到执行 IP 检查的代码,您会发现那里只有 IP 127.0.0.1,将您当前的 IP 添加到此列表并上传新配置服务器。然后您可以打开路径yourdomain/config.php 并检查问题所在。如果config.php 显示一切正常,但您的站点仍然无法运行,您可以启用app_dev.php 进行调试:打开app/app_dev.php 并将您的IP 添加到列表中,就像之前完成的config.php 一样。现在您可以使用 app_dev.php 在本地运行脚本。

【讨论】:

  • 我这样做了,但是我收到了这个错误:解析错误:语法错误,意外的 T_STRING,在第 3 行的 /home/.../public_html/app.php 中需要 T_CONSTANT_ENCAPSED_STRING 或 '(' . 在这一行是:use Symfony\Component\ClassLoader\ApcClassLoader;
  • 与部署连接不上,好像是语法错误。
  • Symfony 的 web 文件夹必须存在。与其将 web 的文件夹名称更改为 public_html,不如创建一个名为 public_html 的符号链接,它将指向 web (public_html -> web)。在其他情况下,一些命令会抱怨缺少 web 文件夹,例如。 G。资产:安装。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2013-05-09
  • 2016-07-09
相关资源
最近更新 更多