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为例”

网络服务配置笔记:WordPress w/ SSL on Ubuntu w/ NGINX, PHP and MySQL

这次重新开站,暂时以这个博客打头阵(实际上好像也只有这个),方便自己乱丢一些文字在上面。以前的备份是2013年初的,这次的开站除了配置几个网络服务之外,也涉及到从旧WordPress的数据备份恢复并升级到最新版,这个过程也是很有趣的,一并写在这篇日志里。

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

一套网络服务的配置,涉及服务器系统、网络服务器端软件、系统相应账户的配置和网络服务的配置。一个搜索可以找到很多XXX VPS提供商网站就有提供相应的教学,我主要翻看了Digital OceanLinode这两家的。这样来看,如果删掉这些啰嗦的、随意的文字,这篇日志也可以起名叫做“Use Your Old WordPress Backup to Build a New Site”,“Install or Upgrade WordPress on Ubuntu 16.04”,“Setup an LEMP environment with HTTPS support on XXX”等等了。后面内容的目录如下:

Continue reading “网络服务配置笔记:WordPress w/ SSL on Ubuntu w/ NGINX, PHP and MySQL”