久しぶりにサーバを確認すると新しいバージョンのubuntuが提供されているとのこと。
何の気なしにバージョンを上げるとなんか色々おかしくなた。
まずは
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.4.load: Cannot load /usr/lib/apache2/modules/libphp7.4.so into server: /usr/lib/apache2/modules/libphp7.4.s cannot open shared object file: No such file or directory
なエラーがでて、apacheが立ちあがらないというもの。
これはubuntuの更新によってPHPのバージョンが上がったのに参照しているPHPが7.4のままだったのが原因だった。
新しいのはPHP8.1なので、以下のコマンドを入れて参照先をPHP8.1に更新した。
a2dismod php7.4
a2enmod php8.1
これでapacheは立ち上がるようになったが、今度はwordpressが重大なエラーとかで起動不能になっている。
たぶんPHPの更新で消滅した関数を参照しているのが原因であろうて。
で、wordpressのwp-config.phpの以下を
define('WP_DEBUG', false);
下の通りtrueに変更して、重大なエラーの詳細を確認してみる。
define('WP_DEBUG', true);
そうすると、function.phpに記述している以下の流れがダメだと言っていた。
// caption を勝手に入れさせない
define('CAPTIONS_OFF', true);
add_filter('disable_captions',
create_function('','return true;'));
何のために入れたやつなのか記憶がないが、特に面倒なことにならなさそうなのでまるっとコメントアウトした。
そうすると、ようやくページの表示ができるようになったのである。
めんどくさ。
よく調べずに適当にバージョンを上げたのがよくないけども。
それにあとFTPも起動しなくなってしまったのでファイルの転送ができない。
まあこれは急いで直さないといけないわけでもないので追々。
PHPの差分について調べるとcreate_functionがなくなったみたい。だいぶ前から非推奨の関数だったのね。