Status-1210

折腾了一晚上,Windows 98装好发现IE上网有问题,又换装Windows XP,发现IE上网还是有问题。查了好久好久……原来是IE8及之前的版本,至少在XP及之前版本的Windows上都不支持TLS 1.2了;而现在大多数启用HTTPS的网站都至少需要TLS1.2才可以正常访问。sigh,就不要追求太完美了。那想玩旧游戏的话,是Windows 98呢还是XP呢……

Status-1141

这两天整理“工作台”(开发机上广义的工作台),想把在Windows平台的Nginx和PHP整利索了,还真不是容易的事情。在本地(localhost/127.0.0.1)上搭建的WordPress做健康检查总是出现“The loopback request to your site failed”的错误,莫名其妙。起先还以为是DNS解析的问题,甚至自己去配了Unbound……找来找去,是在Nginx以FastCGI模式支持PHP运行脚本时,脚本再调用curl访问本地链接,因php-cgi本身限制无法生成(spawn)新php-cgi而造成curl失败,从而引发错误。这个问题说来还是不那么好解释和解决的,幸好PHP 7.1以上版本的CGI可以识别PHP_FCGI_CHILDREN环境变量而自行生成新进程,终于找到了问题的根本所在[12]和解决办法[12]。最近在整理自己在Windows平台上同时运行多个不同版本PHP的记录,稍后就作为一节写进去吧(也许另开一篇更好)。

同时运行多个版本的PHP并配置Composer:以Windows平台NGINX为例

前阵子开始考虑在不同PHP版本下测试MyBB的运行情况。由于我的工作机是Windows,为图方便,就使用了XAMPP作为服务套件。在XAMPP中,PHP是以模块形式支持的,配置可同时运行的、多个不同版本的PHP就变得很麻烦。相比之下,以CGI形式提供PHP支持(实际上好像应该是FastCGI),便很容易实现这一点。

我不太了解Apache的FastCGI怎么来做,搜索一下找到这篇文章“Apache, MySQL, PHP server on Windows with multiple, simultaneous PHP versions”。阅读之后,发现在配置FastCGI参数时还是很麻烦,比如php.ini文件位置、环境变量设置等等。而且这篇文章中是直接以FcgidWrapper调用了php-cgi.exe,给我的感觉是如果设置几个站点还好说,如果设置多个站点使用不同版本的PHP,就变得很复杂了。在不知道是否可以以HTTP方式直接接到PHP CGI监听的端口的前提下,我决定换用NGINX。既然是为了开发使用,也就不要在意性能了。

注意:这篇日志为我记录与获取方便而发布;内容中有很多处未涉及严格的考究和对选择的充分讨论,代码部分亦有存在纰漏的可能;请酌情参考,小心使用!

Continue reading “同时运行多个版本的PHP并配置Composer:以Windows平台NGINX为例”

Status-817

更新某个试用版软件,因其中一个DLL文件没法更新,被要求重启,顺便就检查了下系统更新。Windows 10 version 1809的更新可还真是每隔几天就有。唔,我还没有收到version 1903的功能更新,为啥呀!昨天(美国时间可能是今天?)发布的这个6月积累更新安装起来可真是慢,有点无聊就点进去看了看更新历史记录,发现有的(积累)更新后面带“(2)”,看起来像是安装了两次。搜了下,查到有新闻汇总了有关的信息(图片的两次成功更新还是分开列出的呢),包括Reddit上用户的报告,和微软在5月某个积累更新里添加了说明(表格倒数第2行)。大概意思就是下载并成功安装一次,就会在列表里出现一次;而为了解决所有的bug,有的bugfix要求多次安装更新和重启,所以就会列了几次;微软说也在解决这个问题,为了更好的用户体验。哦,我很无聊,我去重启系统了。