「広告」

WordPressアップデート、Warning: fclose()で、止まる・・・

「広告」
記事内に広告が含まれています。
「広告」

ワードプレス本体 5.5.0から 5.5.1にアップデートしようとしたときに、ワーニングが出て処理が止まってしまいました・・・

「広告」

phpのワーニング

Warning: fclose() expects parameter 1 to be resource, null given in /xxxx/wp-admin/includes/class-wp-filesystem-ftpext.php on line 159

というようなワーニングが出てきました。
ワーニングなので、無視をしたのですが、ワードプレス本体のアップデートが終わらない。

アップデートを諦めて、DBと、WEBコンテンツを、一度、バックアップから元に戻しました。

「広告」

ソースファイルをチェック

そして、この「class-wp-filesystem-ftpext.php」の159行目を見てみました。

while ( ! feof( $temphandle ) ) {
        $contents .= fread( $temphandle, 8 * KB_IN_BYTES );
}
fclose( $temphangle );★
unlink( $tempfile );

return $contents;

上記の★の「 fclose( $temphangle );」が、159行目です。

この、「$temphangle」という変数ですが、ソースには、見当たらない・・・
そして、ソースを眺めてみると、「$temphandle」ではないかと・・・

「広告」

ソースファイルを変更してみる・・・

ということで、試しに、

while ( ! feof( $temphandle ) ) {
        $contents .= fread( $temphandle, 8 * KB_IN_BYTES );
}
fclose( $temphandle );★
unlink( $tempfile );

return $contents;

と、★部分を「fclose( $temphandle );」にして、ワードプレス本体のアップデート!

そして、無事、ワーニングもでないで、終わりました。
「翻訳」のアップデートも、同じようにワーニングが出ていたのですが、
スムーズにアップデートされたようです・・・

FTPモードで、アップデートしているので、ワーニングがでない環境もあるかもしれません・・・・

#ソースの改変などは、ご自身で責任をもって行ってください・・・

「広告」

ワーニング、まとめ

油断せず、アップデート時には、毎回、きちんとバックアップを!
と、改めて、思いました・・・

タイトルとURLをコピーしました