没有SSH访问的Symfony 2

时间:2011-11-21 09:54:28

标签: php deployment symfony ssh

我在Symfony 2和Doctrine 2中开发了一个小型网络应用程序。

我可以将它部署到不提供SSH访问权限的Web主机吗?

我问这个是因为我发现必须从终端完成很多任务,比如更新数据库架构,为资产创建符号链接,清除缓存等等......

3 个答案:

答案 0 :(得分:15)

应该不是问题:

  • 在某处创建系统的副本,理想情况下使用与生产系统相同的数据库连接参数。
  • 如果您的数据库设置允许,请使用--env=prod参数运行所有必要的任务。
  • 将创建的生产数据库克隆到生产系统(使用phpMyAdmin)。您可以从生产数据库克隆架构,在本地运行app/console doctrine:schema:update --dump-sql,然后在生产服务器上运行生成的SQL。
  • 复制所有文件,不包括app/cacheapp/log
  • 中的目录

答案 1 :(得分:3)

我已经使用SF 1.4做了很多次,使用SF 2也应该这么简单。

某些低端主机具有会导致symfony问题的限制,因此运行symfony兼容性检查器脚本非常重要(您可以上传它然后在浏览器中输入其URL以获取输出)。完成后,请按照以下简单步骤操作:

  1. 复制项目的所有文件。我通常压缩/ tar项目文件夹,上传和解压缩。
  2. 从开发环境导出数据库并将其上传到新服务器。
  3. 编辑配置并更新数据库设置。如果您的代码中某处有硬编码路径,那么现在也是修复这些路径的时候了。
  4. 确保apache的用户(或主机使用的任何服务器软件)具有对缓存和日志目录的完全访问权限。这在某些主机上可能会非常棘手,我不得不在过去联系支持人员登录并更改权限。
  5. 在您的网络托管配置工具中,将您网站的网络安全设置为项目中的网络文件夹。

答案 2 :(得分:0)

也许有一种方式(例如sftp),但这就像试着骑方形车的自行车一样;)