在windows上运行php的优点和缺点是什么
这并不是说在Linux上很自然,但开发人员倾向于在早期将PHP用作Linux上的ASP。多年来,MS从来没有提到过PHP,也从未给过它任何支持,所以大部分开发工作都发生在Linux领域,结果是它更加先进,因为它只需要花费更多的开发时间。
在初期再次让ISS运行PHP更加困难,但apache使它更容易,但是然后您需要安装它。我很少在Windows上开发,但我认为随着集成度的提高,环境发生了改变。
XAMPP和WAMPP等软件包的出现使得安装和运行变得更加简单,但是由于Karsten并不是真正面向生产环境,因为它们在性能上,特别是在安全级别上并不适合它,也怀疑它们是否适合性能,它们适合易于安装和开发。
嗯,有试图编写在Windows平台上PECL扩展的明显的问题,并与没有sendmail运行,并试图使用mail
功能相关的问题。
除此之外,只要来源已被正确移植,它应该没问题。
我不能给你表现统计。猜测从这个角度来看,非常简洁的Linux或BSD版本是最好的。
Windows有两个主要缺点。一个是,如果你需要它们,你可能必须自己构建一些较少使用的扩展。 (Windows有一些常见的东西--APC等 - 可以在网络上用于32位,但对于64位Windows ......这是一个丛林。)另一个是你是将成为少数派,所以期待与之相伴的所有事情。 (例如,如果遇到配置困难,可能会有更少的人能够帮助你。)
优点是(特别是如果你最喜欢的IDE是类似Visual Studio的东西),你可以运行所有你喜欢的Windows东西在机器上。如果这是一个开发框,这实际上只是一个优势 - 你也将用于其他目的,而不仅仅是作为服务器。
如果你在一个Windows环境下工作,运行你的应用程序/ php脚本,如果你想在本地进行调试,这很有意义。
我不会在生产环境中使用WAMP,因为它的本质是在linux imho。
XAMPP解决了sendmail问题amphetamachine正在讨论安装汞邮件。 它还附带预构建的xdebug,apc和memcache模块,这些模块对我来说是通常的pecl编译扩展。
一个很明显的问题,PHP在Windows/Apache是not being able to对PHP的当前版本配置PHP APC。因此,没有办法用进度条创建elegant file uploads。如果您在Windows开发,后来转移到Linux
区分大小写可能是一个问题。
+1。这是真的,我不相信我没有想到它。 (我在WAMP堆栈上为Linux生产和测试环境开发了一个他正在谈论的例子:我的一个图像没有在测试中呈现,但是在我的环境中显示得很好,结果发现接收到的文件名是some_image.GIF,我只是用它,并把some_image.gif放在我的代码中......结果是它在Windows系统上显示出来,而在Linux上显示不出来。) – Arkaaito 2010-01-27 10:02:47
有跨越与PHP平台的许多怪癖,我不建议LAMP/BAMP/SAMP和WAMP/WIMP之间的切换。
一方面,权限是完全不同的 - >在Unix/Linux中通常很难处理(因为Windows似乎并没有像我所见过的那样关心许多权限)。在我看来,这是一件好事,但(我相对安全偏执)。
这里有一对夫妇更多的事情,不同:
http://php.net/touch(头被埋更改Windows目录下修改的时间,直到5.3)
(仍不能flush
或ob_flush
一些Win32的机器)
这两个有刚刚SUPER最近制定了或尚未固定系统的具体问题...
和大多数主要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二进制文件进行比较会产生误导。我的直觉表明,选择任一平台的决定应基于其他考虑因素,例如预算,所需功能或易于维护。
PECL uploadprogress模块呢?会不应用在Windows中,以及...(做了同样的事情,APC的上传进度不会) – 2010-01-27 08:25:52
@丹梁 - 也许,但我没有看到Windows可执行文件在http://pecl.php.net/package/uploadprogress – naivists 2010-01-27 08:31:48
绝对有非官方的二进制文件,例如:http://downloads.php。net/pierre/- 我同意,尽管这是最大的麻烦。 – Arkaaito 2010-01-27 10:04:54