起因
今天戳开博客发现只有首页能显示了, 点任意界面都会是空白, Chrome Dev里一看返回500
定位问题
上服务器看了看nginx的error log有报错:
PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /***/***/var/Json.php on line 32
一看就感觉是因为PHP更新了导致某些老的函数被删掉了, 于是检查PHP版本:
果然, 我记得我装的时候是PHP7, 然后php-fpm已经被Arch滚到了8, 应该就是这个问题了.
尝试解决
首先肯定是想升级一下Typecho, 但是作者自从17年诈尸发布了一个版本以后就再也没有release过, 虽然github更新还蛮活跃的, 但是算了吧
于是就想还是降级PHP, 先看看源里有没有:
嗯 我觉得可以
于是先pacman -R php php-fpm
再pacman -S php7-fpm
需要注意的是原本的sock文件是/run/php-fpm/php-fpm.sock
, 现在要改成/run/php-fpm7/php-fpm.sock
然后配置文件也从/etc/php/php.ini
变成了/etc/php7/php.ini
, 一定要打开extension=pdo_mysql
才能访问数据库...
顺便发现以前写的telegram bot也挂了 原因是因为python大版本更新了 所以原来的pip安装的包也都没了...
总结
现在发现了滚动更新的另外一个坑就是某些重要基础软件包的大版本会直接更新...
然后你的服务可能因为大版本更新是非兼容性升级导致挂掉...
于是 还是docker大法好...什么时候把这个博客给docker化吧_(:3」∠)_(但是懒)
还不快抢沙发