Php 在使用Magento时,什么是接近开发环境的好方法?

Php 在使用Magento时,什么是接近开发环境的好方法?,php,zend-framework,magento,lamp,Php,Zend Framework,Magento,Lamp,我正在进行多站点Magento实施,我需要建议 我在一台双核1.8ghz机器上工作,使用3GB ram,发现在我的个人开发环境中使用MAMP时速度非常慢,因此我使用CentOS设置了一个虚拟机,模拟实际的暂存和生产服务器 问题是我必须做我的更改,将它们提交给SVN,然后更新我的虚拟服务器上的存储库,这占用了大量的生产时间。这个Magento实现是一个多站点/存储,因此它使用了大量RAM,我需要一个稳定且速度快的文件系统 我在WindowsXP Pro机器上正常使用WAMP,但正如我所说,我发现这

我正在进行多站点Magento实施,我需要建议

我在一台双核1.8ghz机器上工作,使用3GB ram,发现在我的个人开发环境中使用MAMP时速度非常慢,因此我使用CentOS设置了一个虚拟机,模拟实际的暂存和生产服务器

问题是我必须做我的更改,将它们提交给SVN,然后更新我的虚拟服务器上的存储库,这占用了大量的生产时间。这个Magento实现是一个多站点/存储,因此它使用了大量RAM,我需要一个稳定且速度快的文件系统

我在WindowsXP Pro机器上正常使用WAMP,但正如我所说,我发现这很慢。我有没有办法在我的机器上开发它,而不让它每一个进程都慢下来

我打开了我的IDE(Aptana),大多数时候是Thunderbird打开的,还有MySQL Workbench,所以我有很多程序在运行,虚拟机也在使用这些资源,但正如我所说的,不断更新存储库是很乏味的

任何Magento或专业开发人员都能参与进来吗?我真的很想提前计划,当我得到更多这样的项目时,我想听听你们中的一些其他开发人员是怎么做的

谢谢,
Darren

您没有指定虚拟机是远程的,但我将在这里做出这样的假设(因为根据定义,本地主机上的虚拟机将比它承载的机器慢)

我建议远程连接到更高规格的机器,以便在该环境中处理文件和测试。基本上,将其用作开发实例并远程进行更改。然后,根据需要检入这些更改

我是一名Linux开发人员,因此您的工具链有点超出我的专业知识范围,但是您应该能够将远程驱动器装载为本地网络驱动器,或者您的IDE甚至支持通过SSH装载它(这可能会快一点)

希望有帮助

谢谢, 乔



编辑:我应该说,如果您的虚拟实例不是远程的,这会稍微改变我的答案。去租一台有合理统计数据的虚拟专用机器,为Magento进行设置,然后执行上述操作。与您可能购买的任何硬件技术升级相比,虚拟专用机的每月成本都非常低,而且它为您提供了一个安全的地方来解决问题。这个工作流程的缺点是你必须在线才能完成任何事情。

我使用MAMP(以及过去的Zend服务器)在Mac上本地开发。我选择的IDE是Netbeans。我强烈建议您签出(没有双关语)Git进行开发工作

我有一个用于生产和登台的服务器。生产和暂存有两个不同的数据库。Git central repo也驻留在此服务器上

基本上,我在Mac上本地完成模块和开发工作。我尝试升级之类的,然后使用Git提交它们,并将它们推送到服务器上的中央repo。在那里之后,我将更改合并到临时服务器中,然后测试、测试、测试。如果一切都很好,我会将更改拉(合并)到生产中

这已经很好地满足了我的目的,我没有一个拙劣的升级或任何事情。。。如果出现问题,只需回滚Git中的更改。升级前确实转储了数据库(正确:)

随着您变得越来越复杂,您可以开始使用phing自动推出代码,但这是另一回事


祝你好运

嘿,谢谢,是的,我已经签出Git,更喜欢使用它,但在工作中,我们必须使用SVN。你说的合并是指Git合并还是仅仅上传更新?您是否从Git存储库(例如Beanstalk应用程序)部署?“我对phing很难理解,我会调查的。”Darren,在本地机器和服务器上使用Git,你不必直接上传任何文件。在本地机器上,您将执行一次
git提交
,然后执行一次
git推送原始主机
,将更改推送到服务器。在服务器上,您只需从工作目录使用
git pull origin master
。这是使用Git进行部署的快速而肮脏的方式,但正如我所说,有更好的方式,但Git部署是有效的。嘿,伙计们,从雇主那里买了一台新电脑,使用了VMWare,并使虚拟目录指向我的主机共享文件夹。我的项目很好,谢谢你的建议。