XP系统下安装PHP 7的可行曲折方案

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

因为XP系统下做开发,比Win 7、Win 10节省很多时间,每天至少能节省10-15分钟,时间宝贵,所以仍然无法割舍XP系统。很可能是微软禁止了PHP 7在XP下运行,目前在纯Windows XP下安装PHP 7是绝对不可能的,能试的所有方法我都试了。只能等待第三方开发者,开发一个XP下可运行的Apache+PHP 7的版本。

XP下可以通过安装VMware+Ubuntu/Debian/CentOS来安装PHP 7,但是由于每编写一个PHP语句,都需要用Xftp来上传,再测试,异常繁琐。

不过,昨天突然有了一个想法,让XP和Linux互相共享文件夹,就可以解决这个问题,这样可以直接在文件夹里修改文件,而不需要用Xftp就能立刻更新。

经过调试,XP把文件夹共享给VMware+Linux,非常复杂,尚未成功。
VMware+Linux把文件夹共享给XP,比较简单,很容易成功,需要在Ubuntu/Debian/CentOS下安装samba。
(这2种共享方式,只需用一种即可,第2种容易成功。)

Win 7/8/10在开发中的高频率操作,比XP慢的地方在于:
1. 开发中一般最少会开20个窗口。屏幕最下方的任务栏,Win 7/8/10无法用Ctrl+鼠标左键来批量选中窗口,XP支持。
2. 任务栏中的窗口,点击鼠标右键,Win 7/8/10删掉了键盘功能,只能用鼠标选择“关闭窗口”。而XP的任务栏中的窗口,点击鼠标右键,会出现“关闭(C)”,这时可以按键盘的C键。
3. Win 7/8/10删去了自定义开始菜单功能。XP支持,仅是这个功能,XP系统每天至少能节省10-15分钟。
4. Win 7/8/10需要先关闭分组合并。关闭之后,打开的窗口仍然是按类型排列,非常不方便。因为多年来我习惯以往Windows下的窗口,是在任务栏的最后一个。
Win 7/8/10新开一个窗口,每次都需要多花几秒钟仔细找一下,它是在哪里。

XP系统下,目前只能用VMware+Ubuntu/Debian/CentOS的方案。

我在本机主要使用VMware+Ubuntu Minimal版。Ubuntu 14、Ubuntu 16都可以通过编译安装PHP 7,但是由于PHP 7.3的Linux版太大了,有119兆,1.98万多个文件,编译安装无法成功,会有磁盘已满的报错。PPA也无法安装,也会有磁盘已满的报错。

出现这个问题,有可能在于这些ISO文件里的配置的原因。

最后,回到前几天下载的Ubuntu 18.04的官方服务器版,用apt -y install apache2; apt -y install php,完美安装。

XP系统下安装PHP 7的可行曲折方案:
1. 安装VMware+Ubuntu 18,自带PHP 7.2。 (Ubuntu 19我已经下载,正在测试中。)
然后,用samba,将Linux系统中的网页文件夹共享,XP系统可以直接访问、修改。

这是最简单的可行方案,但是缺点是极占空间。ubuntu-18.04.2-live-server-amd64.iso的文件,就有834M。Ubuntu 18的安装目录,需要占用3.44G的空间,总共占用4.3G。

而我用了10年的PHP 5+Apache,只占用26.8M。
如今为了这个PHP 7,需要多占用4.3G。

2. 启用第2台电脑,安装Ubuntu 18的硬盘版Ubuntu真机。
然后,用samba,将Linux系统中的网页文件夹共享,XP系统通过局域网,可以直接访问、修改,延迟小于1秒。

这个方案有点麻烦,因为每次都要启动2台电脑。Ubuntu真机我还没有安装过,安装过程理论上应该和VMware虚拟机里的步骤完全一样,不同的是真机需要先安装网卡驱动,需要在网上先下载驱动。

真机也有真机的优点,因为关机后所有的文件、设置都存在。
VMware虚拟机的缺点,就是每次都需要上传文件,关机后文件会丢失,创建快照又太麻烦,所以真机解决了这个问题。

3. 如果方案1、2,您觉得麻烦,那么还是需要在Win 7/8/10下运行PHP 7。
Win 7/8/10的界面、环境更适合于娱乐,XP的环境在办公、高工作量的大型项目里都会有更好的表现

4. 寻找体积更小的可安装PHP 7的Ubuntu/Debian/CentOS版本,特别是免安装的live版本,因为Ubuntu 18的本机服务器版太臃肿。

由于方案1、2切实可行,XP系统又复活了,预计可以再战5-10年。因为Win 7/8/10把那几个Windows系统原有的出色的功能去掉了,所以只有XP系统能为开发者节省时间。

8条评论:
1   angel2018 2019-07-07 14:18
xp+php7难题最终还是给勇哥给克服了。佩服!

ubuntu我用过18.04,和VPS很接近,就是有一个问题没想到怎么弄,没设置过,我们连vps有个域名绑定.conf配置,但是在本地真机中,这一步,我没设置过。就是域名解域本地IP主机。

自由勇 2019-07-07 15:33
XP下安装PHP 7开发平台太曲折离奇、颠沛流离。
Ubuntu/Debian/CentOS设置绑定域名、虚拟主机比较简单,由于时间的关系,没来得及整理,写完这一篇大约需要3-5小时。
也是因为太简单,所以一直没有整理,有时间我再用空白机测试一遍。

Ubuntu 12~Ubuntu 18、Debian 6~Debian 9的Apache设置方法:

修改文件:
/etc/apache2/apache2.conf

步骤1:
在最后添加:
ServerName site:80

步骤2:
在最后添加:
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
或者运行shell命令:
cp /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled

因为Ubuntu、Debian默认不支持GZIP,必须执行步骤2的办法。

步骤3:
<Directory />
AllowOverride none
Require all denied
</Directory>

改为:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

将所有关键词 AllowOverride None
替换为 AllowOverride All

这样可以支持.htaccess。

步骤4,虚拟主机的设置方法:
在前面写过2篇,按照这个方法就完全可以:
http://www.auiou.com/relevant/00000572.jsp
http://www.auiou.com/relevant/00000576.jsp

Linux服务器和Windows本机的设置方法完全一样。

在/etc/apache2/apache2.conf最后添加:

Ubuntu服务器这样设置:
<VirtualHost *:80>
ServerAlias abc.com www.abc.com
DocumentRoot /var/www/html/abc.com
</VirtualHost>

本地需要修改host,
C:\WINDOW\Ssystem32\drivers\etc\hosts文件中,添加如下一行:
192.168.128.1XX abc.com www.abc.com

192.168.128.1XX这个是虚拟机里Ubuntu的IP地址,可以用shell命令 ifconfig 获得。

步骤5:Ubuntu 12~18重启Apache,
service apache2 restart

2   angel2018 2019-07-07 23:32
3~5个小时,辛苦了。:)
3   拜仁慕尼黑 2019-07-08 17:22
弄个nas吧,真的很方便,无需折腾
4   face 2019-07-08 23:19
这么折腾,还是macos开发方便。。。

自由勇 2019-07-10 08:25
主要是开发中的高频率操作在原来的平台习惯了,换新平台很不容易。

5   笛声 2019-07-10 08:55
可以考虑在windows2003系统下试试,系统界面跟xp一样,是服务器版的系统,支持超过4GB的内存。

自由勇 2019-07-10 09:01
谢谢!有时间我在Win 2003上试一下,有可能不支持,因为据说Win 2003和XP一样,只能支持到PHP 5.4,所以一直没有试,只试了64位的XP版(不支持PHP 7)。
Win 2003以前刚出来不久我安装过一段时间,那时候只有服务器版,所以后来一直用XP。

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

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

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

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

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

Blog存档 Archives

2019年06月
2019年05月
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-2019 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue