2022年12月1日木曜日

検さぽ!の「サイトマップ自動生成ツール PHP版」がPHP8.0で500エラーになるので一部修正した話

別のホームページでの話なんですが、Google Search Consoleに登録するサイトマップファイル(xml)を自動で作成するツール(フリーソフト)を使っています。
検さぽ!様公開の「サイトマップ自動生成ツール PHP版」というツールです。

さくらのレンタルサーバーを使っているのですが、先日新サーバー移行となりPHP5.6からPHP8.0に変更しました。

その際500エラーが出て、そのままでは動作しなかったので一部修正しました。

もしかすると同様の事で困っている人がいるかもしれないので紹介します。
ググってもピンポイントな解決方法の記事が見つからなかったです。
本当は検さぽ!様に伝えたかったのですがコメントするところがなかったのでここで紹介。

 

使用しているツール

検さぽ! - サイトマップ自動生成ツール (PHP版、MT版)
http://www.kensapo.com/sitemaps.html

現時点でバージョン1.0.1です。
名前の通りシンプルで使いやすいのでお勧めです。


修正箇所

sitemap.phpファイル(シンプルサイトマップ 1.0.1)の120行目

119    //サブフォルダ
120    while(list ($key, $val) = each($dirs)){

のeach関数がPHP 7.2.0で非推奨、PHP 8.0.0で削除となったそうでこれがエラーになっていました。
参考:https://www.php.net/manual/ja/function.each.php

なので、foreach関数で次のように書き換えます。

120    foreach($dirs as $key => $val){

で動作すると思います。

 

0 件のコメント: