2008-10-22 25 views
15

在变得有些疏远开源之后,花了几年的时间在ASP.Net中开发Web应用程序之后,我将开始做相当多的PHP/MySQL开发。在WAMP上开发LAMP是否愚蠢?

我已经非常无痛地安装了WampServer以使开发环境在我的Windows机器上运行,但是我将要定位的平台很可能是Linux。所以我的问题是,我可能遇到问题,因为在Windows上进行开发而针对Linux?投资获取开发我的LAMP应用程序的Linux环境设置是否明智?

+0

那么,VirtualBox + TurnKey LAMP设备是微不足道的设置。 – 2012-01-10 04:36:37

回答

15

如果你可以,我会投资某种Linux,或至少* nix,开发环境。对于简单的应用程序和网站,您的设置很好,但在部署时最终会遇到细微的差异。

下面是一些我头顶的事情,如果你坚持使用Windows环境,你需要注意一些事情。

  1. 文件路径。很多PHP函数都将文件路径作为参数。不要使用windows反斜杠()分隔符。即使你在windows上,PHP也会让你使用正斜杠分隔符。理想情况下,用您自己的文件路径类将其抽象出来。

  2. Apache模块,PECL扩展。 Apache Windows和Apache Unix通常会默认安装一组不同的Apace模块。另外,相同版本的模块可能在不同的平台上运行不同。如果您的应用程序依赖于任何 apache模块,请确保它适用于这两个平台。 PHP定制扩展(PECL)同样如此

  3. 过程分叉。在网络应用程序中使用exec,`等是一个好主意,但如果你使用这些功能,它们将在Windows和Windows之间表现不同。* nix

  4. 文件写入,锁定等。作品不同

  5. 电子邮件是这两个平台

  6. 的PHP组对Windows代码字是“一些平台”上不同的处理。你可以研究更多on your own,如果你想

一般情况下,越接近你的开发环境,生产环境相匹配,你就会有更少的环境/部署的相关问题。

希望有帮助!

13

我在过去的几年里一直在做这件事,而且还没有遇到任何问题 - 如果有的话,它强迫你写更多的可移植代码给你带来好处。

+1

是的。请在WAMP上开发并部署在LAMP上,我们正好相反,虽然这是痛苦的过渡,但我们因此而变得更好。我可以在需要时热切换生产环境进行测试,而无需担心底层平台。 – cfeduke 2008-10-22 21:27:36

+1

只要注意文件权限并记住,Windows不区分大小写。不知道这可能会导致一些讨厌的错误。 – levhita 2008-10-22 23:50:53

1

不,在灯上发展和运行灯应该很好,但至少在灯上。我已经走了两条路,没有太多问题(好吧,曾经有一些问题在WAMP上部署企业站点(不要尝试使用PHP ISAPI筛选器),但现在可以解决(fastcgi))。只要你没有添加任何PECL模块,说明它们在Windows上不被支持,你就不应该有任何问题。另外(既然你说你使用WAMP,我假设你使用MySql),mssql和PHP有一堆问题(它要求严格限制查询长度的古代驱动程序)。

1

理论上,PHP和MySQL应该是完全平台无关的。

实际上,如果您打算拥有一个真正的生产应用程序,我建议您有一个测试环境镜像生产环境,以避免意外。

1

是的我会推荐在尽可能接近您的生产环境的环境中开发。与Linux相比,PHP在Windows上的工作方式存在差异。和Linux相比,Linux处理文件权限的其他差异。我使用Linux虚拟机运行免费的VMWare服务器。我在Linux虚拟机上有一个Samba共享,我将其作为Windows中的网络驱动器进行安装。然后我在Windows上使用Eclipse作为我的代码编辑器。

0

没有,因为相当多,如果你目标灯使用/Exec电话,和你不能WAMP唯一能做的通常这是一件好事,因为这些应该是非常稀少使用。

2

权限和在Windows文件名不区分大小写的事实是我能想到的两件事情让我感到痛苦。但他们是

  1. 可以解决,最坏的情况下用ftp客户端来更改权限。
  2. 好的,简单的方法让你成为更好的程序员(小的方式,是的)。
0

这是值得拥有一个LAMP沙盒,所以你可以知道在哪里可以找到 - 以及如何编辑 - 配置文件,适应重新启动服务,处理预定的工作等,如果你将不得不处理这些任务在生产中。

0

编号
如果您在一个周末有大约6-8个小时的空闲时间,可以清除所有VBox基本信息并设置完毕,那么VirtualBox +共享文件夹应该很有用。 如果您正在切换到Linux,那么这个过程可能需要长达一个月的时间,并且在生产代码方面,您将非常高效地使用。
在使用[PCLinuxOS,CentOS,OpenSuse,Ubuntu]之一切换之前,最好先在VBox for Windows上实践Linux。我更喜欢CentOS,PCLinuxOS。 有一个称为SLAMPP的宝石和另一个名为XAMPP <的美丽 - 适用于Linux和Windows。
IMO作为一个粗略的猜测,如果你希望为每个项目编写2000-3000行代码(你写/添加),对于6mo-1yr,同时使用VBox坚持Windows和主Linux。
如果在上面,或者如果你打算做一个很酷的新LAMP网站,我认为你应该先切换到Linux。花更多的时间来适应Linux。尽可能早地开始使用双引导或VBox,尽可能早地开始学习 - 学习Linux足以调试LAMP应用程序确实需要时间。

0

路径,小心路径。你可以建立一个完整的CMS,因为路径它会搞砸。