2010-01-27 90 views

回答

4

这并不是说在Linux上很自然,但开发人员倾向于在早期将PHP用作Linux上的ASP。多年来,MS从来没有提到过PHP,也从未给过它任何支持,所以大部分开发工作都发生在Linux领域,结果是它更加先进,因为它只需要花费更多的开发时间。

在初期再次让ISS运行PHP更加困难,但apache使它更容易,但是然后您需要安装它。我很少在Windows上开发,但我认为随着集成度的提高,环境发生了改变。

XAMPP和WAMPP等软件包的出现使得安装和运行变得更加简单,但是由于Karsten并不是真正面向生产环境,因为它们在性能上,特别是在安全级别上并不适合它,也怀疑它们是否适合性能,它们适合易于安装和开发。

2

嗯,有试图编写在Windows平台上PECL扩展的明显的问题,并与没有sendmail运行,并试图使用mail功能相关的问题。

除此之外,只要来源已被正确移植,它应该没问题。

1

我不能给你表现统计。猜测从这个角度来看,非常简洁的Linux或BSD版本是最好的。

Windows有两个主要缺点。一个是,如果你需要它们,你可能必须自己构建一些较少使用的扩展。 (Windows有一些常见的东西--APC等 - 可以在网络上用于32位,但对于64位Windows ......这是一个丛林。)另一个是你是将成为少数派,所以期待与之相伴的所有事情。 (例如,如果遇到配置困难,可能会有更少的人能够帮助你。)

优点是(特别是如果你最喜欢的IDE是类似Visual Studio的东西),你可以运行所有你喜欢的Windows东西在机器上。如果这是一个开发框,这实际上只是一个优势 - 你也将用于其他目的,而不仅仅是作为服务器。

1

如果你在一个Windows环境下工作,运行你的应用程序/ php脚本,如果你想在本地进行调试,这很有意义。

我不会在生产环境中使用WAMP,因为它的本质是在linux imho。

XAMPP解决了sendmail问题amphetamachine正在讨论安装汞邮件。 它还附带预构建的xdebug,apc和memcache模块,这些模块对我来说是通常的pecl编译扩展。

1

一个很明显的问题,PHP在Windows/Apache是​​not being able to对PHP的当前版本配置PHP APC。因此,没有办法用进度条创建elegant file uploads。如果您在Windows开发,后来转移到Linux

+0

PECL uploadprogress模块​​呢?会不应用在Windows中,以及...(做了同样的事情,APC的上传进度不会) – 2010-01-27 08:25:52

+0

@丹梁 - 也许,但我没有看到Windows可执行文件在http://pecl.php.net/package/uploadprogress – naivists 2010-01-27 08:31:48

+0

绝对有非官方的二进制文件,例如:http://downloads.php。net/pierre/- 我同意,尽管这是最大的麻烦。 – Arkaaito 2010-01-27 10:04:54

4

区分大小写可能是一个问题。

+0

+1。这是真的,我不相信我没有想到它。 (我在WAMP堆栈上为Linux生产和测试环境开发了一个他正在谈论的例子:我的一个图像没有在测试中呈现,但是在我的环境中显示得很好,结果发现接收到的文件名是some_image.GIF,我只是用它,并把some_image.gif放在我的代码中......结果是它在Windows系统上显示出来,而在Linux上显示不出来。) – Arkaaito 2010-01-27 10:02:47

1

有跨越与PHP平台的许多怪癖,我不建议LAMP/BAMP/SAMP和WAMP/WIMP之间的切换。

一方面,权限是完全不同的 - >在Unix/Linux中通常很难处理(因为Windows似乎并没有像我所见过的那样关心许多权限)。在我看来,这是一件好事,但(我相对安全偏执)。

这里有一对夫妇更多的事情,不同:

http://php.net/touch(头被埋更改Windows目录下修改的时间,直到5.3)
​​(仍不能flushob_flush一些Win32的机器)

这两个有刚刚SUPER最近制定了或尚未固定系统的具体问题...

1

和大多数主要PHP开发人员(我的意思是,那些创造语言)似乎理解过程工作r Unix平台。另外,几乎所有的Linux发行版都负责构建,打包和修复PHP以适应他们的系统。这也适用于像Apache这样的辅助软件。因此:

  • 总有一些功能在Windows上无法使用,例如, strptime()或有更多的错误。
  • Windows二进制文件未针对您的系统进行优化。除非你自己编译它们,否则你甚至不能获得64位二进制文​​件。
  • MSI安装程序没有像应该那样打磨。
  • 安装PECL扩展十分复杂,因为有没有官方的DLL。

当然,这里还有在PHP Windows的唯一功能,如Windows only extensions或第三方扩展,如Microsoft SQL Server Driver for PHP,或功能,是比较容易的方式在Windows下使用,如ODBC

谈到表演本身,这是很难做出一个公平的比较。操作系统本身具有非常不同的硬件要求,将优化的Unix版本与通用Windows二进制文件进行比较会产生误导。我的直觉表明,选择任一平台的决定应基于其他考虑因素,例如预算,所需功能或易于维护。

相关问题