修复 Windows 环境下的程序访问 WSL 中的 MySQL 提示 Access Denied 的问题

症状

Windows 10 版本 1803 + Ubuntu 18.04
位于 Windows 下的程序(例如Navicat)连接 MySQL 提示 Access Denied
同样位于 WSL 的程序可以正常访问 MySQL

原因

MySQL 把 Windows 下的程序的连接视为远程 MySQL 请求,若你使用的 MySQL 用户没有远程权限,则会出错。
WSL 特性?#(滑稽)

解决办法

WSL 输入 mysql -uroot

1
2
3
4
use mysql;
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
FLUSH PRIVILEGES;

现在就可以使用 root 连接了(无密码,本地开发环境搞个毛的密码)

修复 WSL 下 PHP+FastCGI 卡死的问题

症状

Windows 10 版本 1803 + Ubuntu 18.04
以 Nginx 服务端为例,访问多数 PHP 文件,PHP 会直接卡死。
访问那些极其简单的 PHP 文件 (例如Hello world, phpinfo()) 虽然可以加载出来但浏览器显示网页仍未加载完全。

原因

你肯定用了 Unix Socket 方式连接 Nginx 和 PHP,然而,WSL 对 Unix Socket 的支持有 bug….

解决办法

nginx.confserver 节点添加:

1
fastcgi_buffering off;

自动获取Pixiv每日排行榜第一张图片(600x600 | 可用于博客背景图)

代码来自@mokeyjay的 Pixiv每日排行榜Top50小部件,本人做了一些修改来专用于输出第一张图片的完整图片(也可以输出其他的图片)

可用于获取Pixiv每日排行榜第一张图片并直接输出,比如作为博客背景图像(配合高斯模糊食用效果最佳)


食用方法:(两种任选)

第一种:直接把图片路径指向这个php文件

第二种:图片路径指向保存文件路径(默认为pixiv.jpg),然后挂个计划任务每天自动调用pixiv.php来刷新图片


以下是代码:【建议保存为pixiv.php】