PHP多种开发环境的区别:Windows+Apache、Linux+Apache、安卓手机的AndroPHP、OPENWRT

王志勇 发表于 2019年05月11日 07:10

Windows+Apache+PHP和Linux+Apache+PHP的区别
PHP的开发环境,现在很多人喜欢用WSL,就是在Windows下运行的Linux系统。因为我的开发系统是XP系统,WSL好像只支持Win 10,所以我的电脑无法安装WSL,较为理想的PHP开发环境估计应该是WSL。我的PHP开发环境是XP系统+Apache+PHP 5.2.8,这一环境从2009年一直使用至今,整整10年过去了,每天都在用如这里一键完成安装

从PHP语句、Apache的模块特性来看,Windows+Apache+PHP,和Linux+Apache+PHP,我在开发中,几乎没有任何区别,99.9%以上的功能都相同,例如都同样支持.htaccess、支持多站点、能在本机建立虚拟主机、支持泛域名解析,支持所有的PHP函数,等等。
可能会有极少量的区别。目前遇到的2点区别:

1. Linux+Apache+PHP,由于是在Linux系统下,Linux系统有文件/文件夹的权限问题,默认新建的文件夹权限是0755,文件权限是0644。文件夹权限是0755的时候,有时候会导致无法写入数据,所以我习惯把所有文件夹、文件的权限都全部改为0777。Windows+Apache+PHP,没有文件/文件夹的权限问题。

2. Linux+Apache+PHP,由于是通过Ubuntu、CentOS、Debian的官方平台安装的,所以内置的模块很齐全,毕竟是Apache+PHP的原生、主力环境。
而Windows+Apache+PHP理论上也能实现Linux+Apache+PHP的所有功能,只是Apache、PHP的官方对Windows+Apache+PHP环境,比Linux下的投入少得多。

同样是Linux+Apache+PHP,Ubuntu和CentOS的PHP也有一定的区别,比如Ubuntu+Apache+PHP支持SQLite,CentOS+Apache+PHP则不支持。

Windows+IIS+PHP和Windows+Apache+PHP的区别
IIS+PHP比Apache+PHP的功能少很多,Apache的安装更容易。我之前写的这2篇是它们的差别:
Windows本机用IIS+PHP VS Apache+PHP (2018年写)
IIS+PHP和Apache+PHP的巨大速度差别 (2009年写)

安卓手机的AndroPHP
我从2017年开始在安卓手机上安装AndroPHP,它能让安卓手机支持PHP,并能让手机上的PHP网页能被外网访问(即把一台手机变成一台服务器)。

我当时安装AndroPHP,是为了让手机定时把收到的短信,上传给远程服务器,让远程的Ubuntu服务器通过PHP+SQLite3读取短信的内容,后来完美完成。方案是编写一段PHP程序,然后定时上传/data/data/com.android.providers.telephony/databases/mmssms.db文件,如我写的这篇《短信验证开发的方案分享》。

AndroPHP的安装包有十几兆,比Windows下的Apache、PHP安装包的总和还大很多。但是,AndroPHP的功能还是有不少缺少,比如我遇到的情况是,PHP语句不支持重要的、最常用的file_get_contents()函数。AndroPHP理论上也能实现所有的PHP功能,但是可能由于AndroPHP的官方平台未完全开发。

不过,AndroPHP还是支持大部分的PHP语句、函数。

OPENWRT+PHP
OPENWRT,是运行在路由器上的超迷你Linux系统。2014年的时候,我调试了很长时间的路由器。能刷OPENWRT,最廉价的路由器是RG100、DB120。当时是为了实现某个特定的功能,才刷OPENWRT,我当时也根据网上的资料,成功地安装、运行了PHP。

那时候,有人在OPENWRT运行了Discuz。但是OPENWRT无法运行Wordpress,因为路由器的内存不够。

后来有好几年没有碰OPENWRT了。因为现在用不到OPENWRT+PHP,具体的功能没有时间测试,反正能刷OPENWRT的路由器是可以支持PHP的,也许某一天会派上极大的用场。

VMware下的LAMP
在Windows系统下,安装VMware,然后再安装Ubuntu、CentOS、Debian,通过SSH连接,默认的IP地址为192.168.128.X,会发现其功能和真正的Linux没有任何区别,完全可以实现在本机调试Linux、PHP。

VMware、Ubuntu安装之后,通过XShell、XFTP连接这个Ubuntu系统、互传文件,IP地址可在VMware下的命令行输入ifconfig获得。之后,像国外的VPS一样,给本机的这个Ubuntu安装PHP,安装的命令如这里。之后,在本机用浏览器访问http://192.168.128.X即可访问。

但VMware下的Linux+PHP有2个缺点:
1. 无法单独保存某个PHP文件,只能每次保存镜像文件,有几百兆~上G,非常慢。
2. VMware可能由于创建了2个虚拟网卡,会让电脑开机很慢(比如XP系统),要多等1分多种。

VMware好用是很好用,但是我已经卸载很久了。只有需要大量调试Linux的时候,找另一块硬盘安装XP+VMware+Ubuntu/或CentOS/或Debian,开机慢就慢吧。平时的主力工作环境,再换回原来的硬盘。

13条评论:
1   拜仁慕尼黑 2019-05-11 08:49
还在用5.2?很不安全了哦。
建议至少5.4
自己写代码的话直接7吧。

自由勇 2019-05-11 09:16
在本机用没事儿。

2   angel2018 2019-05-11 11:21
好文章,androPHP看起来很强大,哈哈,有机会试一试。
勇哥,ping了你ip,200左右。
我ping我的ip,250-350左右,一直没确认在virmach买的是linux+apache还是windows+apache,远程连是用ssh+打命令。
勇哥,是我买的vps空间和你不同的问题,还是你运行环境和网站源码环境的不同。
我用的是256内存,500G流量带宽,10G硬盘。ubuntu 14.04 64位

自由勇 2019-05-11 20:01
谢谢!
ping值短,是因为机房的原因。下单时,要选Los Angeles(洛杉矶)。

3   angel2018 2019-05-11 19:00
勇哥,你博客主页右手边的友情链接上,每个人的链接网站旁边是数字是代表什么,比如我的是15?

自由勇 2019-05-11 20:00
代表的是从博客首页的点击数。

4   angel2018 2019-05-11 21:30
勇哥,当时选了纽约,感觉纽约大气,哈哈,是不是不好改,改了ip地址就变了?

自由勇 2019-05-11 22:04
Virmach有可能改不了,或者可以联系客服问一下,需要把主机换到洛杉矶。
纽约速度不是最快的,网上的很多aff博客上有测试IP。ping值最快的是洛杉矶,其次是达拉斯、西雅图,纽约也差不多。

主机只考虑ping值短,不太考虑地名大气。:)

自由勇 2019-05-11 22:08
我的博客现在ping值是190多ms,你的博客现在是230多ms。
这2个值,其实几乎看不出区别。

几年前我的博客一直用ping值在270ms~300多ms的美国虚拟主机,速度都一直很快。

自由勇 2019-05-11 22:11
几年前的美国主机,最快的也都普遍在270ms左右,Godaddy的虚拟主机当时在240ms~250ms左右。
洛杉矶那边的线路是这几年才出现的,最短时150ms~170ms。
我的博客空间早晨比较快,最快时150多ms~160多ms。

5   angel2018 2019-05-12 12:06
勇哥,够详细,是不是越短,越快。如果差不了多少,就不换。

自由勇 2019-05-12 13:12
是的,越短,访问越快。香港阿里云的速度很快。下次续费可以重新购买成洛杉矶的。
你的主机是Linux主机。
现在国外大部分是Linux主机,Windows只用于ASP/ASP.net,而且比Linux主机贵一些。
Linux主机好用。

6   angel2018 2019-05-12 15:01
勇哥,明的了,收到。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (41周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2021年06月(9)
2021年05月(17)
2021年04月(25)
2021年03月(6)
2021年02月(17)
2021年01月(30)
2020年12月(19)
2020年11月(18)
2020年10月(15)
2020年09月(14)
2020年08月(14)
2020年07月(14)
2020年06月(16)
2020年05月(13)
2020年04月(18)
2020年03月(14)
2020年02月(15)
2020年01月(16)
2019年12月(11)
2019年11月(26)
2019年10月(25)
2019年09月(30)
2019年08月(10)
2019年07月(29)
2019年06月(30)
2019年05月(26)
2019年04月(30)
2019年03月(30)
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2021 auiou.com All rights reserved.
此Blog程序由王志勇编写