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 (44周岁)
程序设计,前端设计。

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

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

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

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