Day 4514 Apache、PHP NTS、FastCGI与Rewrite之间不得不说的故事(雾

为单位装新网站,出于安全考虑,环境需要由我自行配置,于是按照开发公司的要求去下载了Apache 2.4、PHP 5.6和MySQL,由于服务器系统为64位Windows,所以理所当然地都下载了64位的组件,其中PHP使用了比较顺手的TS(线程安全,Thread-safe)版本。

一切配置好后,发现说明书中组件要求有一个Zend Guard Loader,于是跑去下载,但当看到支持PHP 5.6的Zend Guard Loader的版本只有x86版本时心里就咯噔一下,尝试配置后,果不其然,64位的PHP无法与32位的Zend组件协作,不得已推倒重来,谁知这只是更大坑的开始。 继续阅读 “Day 4514 Apache、PHP NTS、FastCGI与Rewrite之间不得不说的故事(雾”

Day 4500 数据恢复:《一面》

以前混迹在动漫渔场论坛时,心比天高,总喜欢在满是才华横溢的文人们齐聚的、一个叫同人故事的板块,发一些自己都看不下去的烂文,还自以为写得不错。

当然,后来因为一些事,大部分都被自己用编辑功能删掉了。

今天找以前的数据时,偶然又翻到这些幼稚的字符串,不由哂笑,一为自己曾经的心高气傲,一为自己曾经的为赋新词强说愁。

现在的东方Project可能与我记忆中(THA1/13以前的版本)的已有很大不同——或者换句话说,人总是容易沉湎在回忆里,所以在这里也转载保留一篇以前的改写文,留作一个沉湎的角落。

继续阅读 “Day 4500 数据恢复:《一面》”

Day 4440 迟来的https启用

即日起,本站的Blog部分正式启用Let’s Encrypt签发的SSL证书,其它页面如“锟斤拷”域名、霞光之羽饭否机器人等页面,因实际上是静态页面,暂不列入启用范围。

由于本站采用的是非常实惠的虚拟主机(这种情况通常也称为网站主人没钱),且一开始并没有在主机的控制面板中找到相应的证书导入选项(直到现在也没有显示出来,是靠瞎猜误打误撞进去的),就一直将启动SSL搁置起来,没想到一放就是两三年。

大体就是这么一件小事。

Day 4407 使用独立安装包安装.Net Framework 4.6.2时,提示『无法建立到信任根颁发机构的证书链』

出现该问题的原因是未能更新本机的受信任证书颁发机构证书列表,导致安装包验证失败,以下几种情况可以造成此问题:

1、安装该运行库的系统未接入互联网;

2、安装该运行库的系统所在的网络环境,屏蔽了对微软受信任根证书更新的URL。

(如果使用的不是独立安装包,而是Web Installer,问题可能为第2条,因为Web Installer未联网无法使用)

解决方法:

1、点击此处(微软官方链接)下载Microsoft Root Certificate Authority 2011证书。

2、开始—运行,输入mmc启动管理控制台。

3、文件—添加管理单元,在『可用的管理单元』中选择『证书』,点击『添加』,在弹出的对话框中选择『计算机账户』,下一步中选择『本地计算机』,一路确定至返回到MMC的主界面。

4、展开控制台根节点—证书(本地计算机)—受信任的根证书颁发机构—证书,点击『操作』菜单—所有任务—导入(如果没有导入,只有『打开』和『导出』,则点击右侧列表末尾的空白处取消选择,然后重新操作一次)

5、在导入向导中,『要导入的文件』选择在第一步中下载的cer证书文件,下一步的『证书存储』选择『将所有的证书放入下列存储』,点击『浏览』并选择『受信任的根证书颁发机构』,并在『下一步』后选择『完成』。

6、重新运行.Net Framework 4.6.2安装程序即可。

Day 4330 关于Secure Settings不能识别已root系统的解决方法

Secure Settings是一款配合其它软件(如Tasker等)实现对Android设备进行超多控制的应用(Play页面)。

最近将手机升级到Android 7.0,经过好大一通折腾,终于将设备root掉,但通过钛备份恢复的Secure Settings总是会报『由于没有root权限,一些特定的操作无法进行』,这里是指我设置的Tasker任务,每天晚上23点之后自动将手机设置为飞行模式。

经过搜索,得知由于Secure Settings检测root的方法是去搜索/system/bin/su是否存在,而应用本身已长年未更新(上次更新为2015年1月),现在以SuperSU进行root的设备采取的是『systemless』的方式,即不会在/system/(x)bin下写入su的binary,导致其误以为系统没有root。

解决方法如下:

1、打开设备的USB调试模式

2、使用adb连接设备执行操作:

adb shell

su

mount -o remount,rw /system

touch /sbin/su /system/bin/su /system/xbin/su

mount -o remount,ro /system

exit

reboot

3、设备重启完成后,Secure Settings的误判问题即可解决,此后如果有SuperSU的授权提示,进行授权即可。

注1:如在mount步骤中报错『Device or resource is busy』等,可将第二个参数修改为『rw,remount』及『ro,remount』。

注2:执行touch时如出现『/sbin/su:Read-only file system』,为正常现象,可以无视之。

参考资料:

  1. https://dammit.nl/20160406-how-to-fix-secure-settings-on-android-devices-with-supersu-systemless-root.html
  2. https://forum.xda-developers.com/pixel-c/help/device-resource-busy-t3449240

Day 4250 Powerpoint 2007+修改页面尺寸而不拉伸元素

在PowerPoint中,对已经做好的幻灯片通过『页面设置』修改页面尺寸(如从全屏4:3修改为全屏16:9),则PowerPoint会自动拉伸页面元素,本意是让原有的元素能自适应新的页面尺寸,但常常适得其反,因为页面尺寸的变化导致本来就需要对元素位置进行重排,现在反而还需要挨个将元素尺寸复位,这对于页数较多的PPT来说简直是灾难性的。

根据本页面的内容,可通过如下方式无损调整PPT文档的页面尺寸(限pptx格式,即PowerPoint 2007以后版本生成的文档):

  1. 备份原始文件。
  2. 将pptx文件用任意支持ZIP格式的压缩软件(如WinRAR、7-zip等)解压缩至单独的文件夹。
  3. 使用文本编辑器(建议为Notepad++等功能比较完善的编辑器,而不是系统自带的记事本,以免出错)打开解压缩后的文件中的 ppt\presentation.xml,查找『p:sldSz』,将其后的cx和cy参数修改为要使用的页面尺寸,常用的全屏尺寸对应数值如下:
    【全屏4:3】cx=”9144000″ cy=”6858000″
    【全屏16:9】cx=”9144000″ cy=”5143500″
    【全屏16:10】cx=”9144000″ cy=”5715000″
  4. 将所有文件重新打包为ZIP格式(注意不要选择其它格式,Powerpoint无法识别)『存储』(存档)压缩率(各压缩软件描述不同,WinRAR为『存储』,7-zip为『仅存储』),然后将后缀重新修改为pptx即可。

按照此方法修改后的pptx文档有一个小问题,即页面的十字中心参考线仍为修改前的位置(通常是水平参考线的位置偏移),猜测可能在XML中有其它参数进行控制,但不影响文档的正常编辑和使用。

以上步骤在 PowerPoint 2010 中测试通过。

Day 4238 使用Photoshop将PDF转换为抗锯齿JPG

  由于工作原因,需要将手头的一批文字已经转换成轮廓的PDF文件转换为JPG图像。Adobe Acrobat支持直接将PDF文件另存为JPG图片,但由于某些不得而知的原因,转换出来的JPG图像惨不忍睹。

  如上图所示:上图为PDF在Acrobat或Reader中直接显示的效果,而下图为Acrobat导出的JPG,可以看到文字轮廓的锯齿十分严重,已经达到无法装作看不见的地步。

  在网上搜索一通,发现这个问题居然是个老大难:有人在2009年在Adobe官网提问,一直到8年后的今天都没有得到可用的答复;有的人说导出为PNG或TIFF格式,并提高导出时的精度,经实验并没有什么帮助;还有人说通过第三方在线服务进行转换,结果因为这个PDF文件太大(>100M),各种服务要么不接受,要么要我开付费账号,遂放弃。

经过实验,通过Photoshop打开PDF,并配合自定义的保存动作,通过批处理可以一定程度上解决这个问题,具体的处理方法如下(实验环境为Adobe Photoshop CS6): 继续阅读 “Day 4238 使用Photoshop将PDF转换为抗锯齿JPG”

Day 4101 关于笔记本键盘NumLock关闭后,主键盘区小键盘共用区仍然只能输入数字的处理方法

这次并不是亲自遇到的问题,而是某群里有人问,找到的方法奏效了,所以记录一下。

情况说明:由于空间有限,多数笔记本上的M、JKL、UIO、789是复用为普通104键盘上的小键盘区的,分别对应小键盘上的0~9按键(其输入的键码与主键盘区有差异),当NumLock打开时,这几个键就会变成小键盘对应的按键。

本次遇到的问题是:在NumLock关闭的情况下,M输入的依然是0、JKL输入的依然是1、2、3,以此类推。(请不要与NumLock打开时JKL输入的是123的正常情况混淆)

原因分析:据下文来源链接中的信息称,该问题的原因是曾在本机使用了外接键盘或屏幕键盘(或其他不可预知的情况),并在这个非内置键盘上修改了NumLock的状态为开启。当移除外接键盘或退出屏幕键盘后,系统中仍然保存着最后的NumLock状态,但内置键盘的状态并没有更新,从而导致NumLock的状态被锁定在开启,并由此导致主键盘区的复用小键盘无法关闭。

解决方法有以下几种(来源链接):

1、关闭内置键盘的NumLock后(否则无效),按一下内置键盘上的Shift+NumLock。

2、Windows下使用“屏幕键盘”应用,多点几次屏幕键盘的NumLock并在退出前保持“关”状态。

3、关闭内置键盘的NumLock后,接入一个外置键盘,并关闭外置键盘的NumLock,最后拔下外置键盘。