在WAMP上为LAMP开发是否愚蠢?

Nic*_*ggs 15 lamp wamp

在成为疏远的开源之后,花了几年时间在ASP.Net中开发Web应用程序,我将开始做很多PHP/MySQL开发.

我已经非常轻松地安装WampServer以在我的Windows机器上启动并运行开发环境,但我将要定位的平台很可能是Linux.所以我的问题是,我是否可能因针对Linux而在Windows上进行开发而遇到问题?是否可以投资购买Linux环境以开发我的LAMP应用程序?

Ala*_*orm 15

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

如果您坚持使用Windows环境,这里有一些我想要注意的事情.

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

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

  3. 处理分叉.在Web应用程序中使用exec,`等等是一个坏主意,但如果你使用这些函数,它们将在windows和*nix之间表现不同

  4. 文件写作,锁定等工作方式不同

  5. 两个平台上的电子邮件处理方式不同

  6. PHP组的Windows代码字是"某些平台".如果您愿意,可以自己研究更多

通常,您的开发环境越接近生产环境,您所拥有的环境/部署相关问题就越少.

希望有所帮助!


Gre*_*reg 13

我在过去几年里一直在做这件事并且还没有遇到任何问题 - 如果有的话,它会强迫你编写更多的可移植代码.

  • 是的。请在 WAMP 上开发并在 LAMP 上部署,我们做的恰恰相反,虽然过渡很痛苦,但我们因此而过得更好。我可以随时在生产环境中热交换环境进行测试,而无需担心底层平台。 (3认同)
  • 请注意文件权限,并记住 Windows 不区分大小写,而 Linux 不区分大小写。不知道这可能会导致一些讨厌的错误。 (2认同)