linux环境对php来说是天生的,
在 windows 上运行 php 的优缺点是什么?
windows有一些限制吗?
就性能而言,最好的(灯/灯)是什么?
谢谢
这在 Linux 上并不是很自然,但早期的趋势是开发人员使用 PHP 作为 Linux 上的 ASP。多年来,MS 甚至从未提及 PHP,也从未给予它任何支持,因此大多数开发工作都发生在 Linux 领域,结果它更先进,因为它只是花费了更多的开发时间。
同样在早期,让 PHP 在 ISS 上运行更加困难,但 apache 使它更容易,但你需要安装它。我很少在 Windows 上开发,但我认为随着更多的集成,环境已经变得更好。
XAMPP 和 WAMPP 等软件包的出现使安装和运行变得更加容易,但正如 Karsten 所说,并不是真正适用于生产环境,因为它们在性能方面特别是在安全级别上不适合生产环境,因此我也怀疑它们是否它们是为性能而设计的,它们是为易于安装和开发而设计的。
如果您在 Windows 中进行开发并随后迁移到 Linux,则区分大小写可能会成为问题。
好吧,尝试在 Windows 平台上编译 PECL 扩展存在明显的问题,以及与未运行 sendmail 并尝试使用该mail
功能相关的问题。
除此之外,只要源已正确移植,它应该可以正常工作。
Microsoft 有一个站点用于此http://php.iis.net/
为了获得良好的性能,还请查看http://www.iis.net/expand/fastcgi
我不能给你性能统计。从这个角度来看,我猜想一个极其精简的 Linux 或 BSD 版本是最好的。
Windows 有两个主要缺点。一是如果需要,您可能必须自己构建一些较少使用的扩展。(不过,有一些常见的 Windows 版本 - APC 等 - 可在网上获得 32 位版本。对于 64 位 Windows ......嗯,那里是一片丛林。)另一个是你是将是少数,所以期待所有与之齐头并进的事情。(例如,如果您遇到配置困难,那么能够帮助您的人可能会更少。)
优点是(特别是如果你最喜欢的 IDE 是 Visual Studio 之类的)你可以在机器上运行所有你喜欢的 Windows 东西。如果这是一个开发箱,这实际上只是一个优势——您也可以将其用于其他目的,而不仅仅是作为服务器。
如果您在 Windows 环境中工作,那么如果您想在本地进行调试,那么在那里运行您的应用程序/php 脚本会很有意义。
我不会将 WAMP 用于生产环境,因为它的本质是在 linux imho 中。
XAMPP 通过安装水银邮件解决了 amphetamachine 所说的 sendmail 问题。它还带有预构建的 xdebug、apc 和 memcache 模块,这些模块对我来说是通常的 pecl 编译扩展。
PHP 有很多跨平台的怪癖,我不建议在 LAMP / BAMP / SAMP 和 WAMP / WIMP 之间切换。
一方面,权限完全不同 -> 通常在 Unix/Linux 中更难使用(因为据我所知,Windows 似乎并不关心权限)。不过,在我看来,这是一件好事(我相对安全偏执)。
这里还有一些不同的地方:
http://php.net/touch (在 5.3 之前不能改变 windows 目录的修改时间)
http://php.net/flushflush
(还是不能ob_flush
从一些 win32 机器上)
两者都有系统特定的问题,这些问题最近刚刚解决或尚未修复......
大多数和主要的 PHP 开发人员(我的意思是那些创建该语言的开发人员)似乎都在 Unix 平台下工作。此外,几乎所有 Linux 发行版都负责构建、打包和修复 PHP 以适应其系统。这也适用于 Apache 等辅助软件。因此:
当然,PHP 中也有仅限 Windows 的功能,例如仅限 Windows 的扩展或第三方扩展,例如Microsoft SQL Server Driver for PHP,或者在 Windows 下更易于使用的功能,例如ODBC。
谈论性能本身,很难做出公平的比较。操作系统本身有非常不同的硬件要求,将优化的 Unix 构建与通用 Windows 二进制文件进行比较会产生误导。我的直觉是,选择任一平台的决定应基于其他考虑,例如预算、所需功能或易于维护。