在与开源社区有些疏离感后,并花了几年时间开发 ASP.NET 的Web应用程序之后,我将开始进行大量的PHP / MySQL开发。
我已经相当轻松地安装了 WampServer 以在我的Windows机器上建立开发环境,但是我将要开发的平台最有可能是Linux。由于在Windows上开发而针对Linux,我是否可能会遇到问题? 需要投资建立Linux环境来开发我的LAMP应用程序吗?
在与开源社区有些疏离感后,并花了几年时间开发 ASP.NET 的Web应用程序之后,我将开始进行大量的PHP / MySQL开发。
我已经相当轻松地安装了 WampServer 以在我的Windows机器上建立开发环境,但是我将要开发的平台最有可能是Linux。由于在Windows上开发而针对Linux,我是否可能会遇到问题? 需要投资建立Linux环境来开发我的LAMP应用程序吗?
文件路径。许多PHP函数将文件路径作为参数。不要使用Windows反斜杠(\)分隔符。即使您在Windows上,PHP也会让您使用正斜杠分隔符。最好使用自己的文件路径类来抽象化。
Apache模块,PECL扩展。Apache Windows和Apache Unix通常默认安装了不同的Apache模块集。此外,同一版本的模块在不同平台上可能运行不同。如果您的应用程序依赖于任何Apache模块,请确保它在两个平台上都可用。对于PHP自定义扩展(PECL),也是如此。
进程分叉。在Web应用程序中使用exec、`等函数本来就是一个坏主意,但如果您正在使用这些函数,它们在Windows和*nix之间的行为将有所不同。
文件写入、锁定等操作的工作方式不同
电子邮件在两个平台上的处理方式不同
PHP组对Windows的代号是“某些平台”。如果您愿意,可以自行研究更多。
我已经做了几年了,还没有遇到任何问题——如果有什么问题,它会通过强制你编写更具可移植性的代码来为你提供优势。
权限和Windows文件名不区分大小写是我遇到的两个问题。但它们都是可以解决的,最坏的情况下可以使用FTP客户端更改权限。
不,使用WAMP进行开发并在LAMP上运行应该没问题,但至少要在LAMP上进行阶段性测试。
我曾经两种方式都尝试过,没有遇到太多问题(好吧,在WAMP上部署企业站点曾经存在一堆问题(不要尝试使用PHP ISAPI过滤器),但现在这些问题已经可以解决了(FastCGI))。
只要您不添加任何声明不支持Windows的PECL模块,就不应该有任何问题。此外(因为您表示正在使用WAMP,我假设您正在使用MySQL),SQL Server和PHP存在许多问题(它需要古老的驱动程序严重限制了查询长度)。
不。
如果你有一个周末有大约6-8小时的空闲时间来搞清楚所有VirtualBox基础知识和设置,那么VirtualBox +共享文件夹应该是很有用的。
如果你正在转向Linux,这个过程可能需要一个月的时间,而在这段时间内,你在生产代码方面将会非常不高效。
在转换之前,最好提前在Windows上使用PCLinuxOS、CentOS、openSUSE或Ubuntu中的一个练习Linux。我更喜欢CentOS和PCLinuxOS。
有一个叫做SLAMPP的宝石和另一个叫做XAMPP的美丽东西 <-- 可以在Linux和Windows上运行。
我认为,作为一个粗略的估计,如果你期望每个项目编写/添加2000-3000行代码,在六个月到一年的时间内,建议使用Windows并同时掌握VirtualBox上的Linux。
如果超过这个范围,或者如果您计划制作一个很酷的新LAMP网站,我认为您应该先转向Linux。再花一个月的时间适应Linux。您仍然可以使用双重启动或VirtualBox进行操作,尽可能早地开始学习Linux - 学习足够调试LAMP应用程序所需的Linux知识需要时间。