2020年10月30日
PHPのバージョンアップ対応に悪戦苦闘する
私が知人に頼まれて作成したホームページのレンタルサーバー会社からPHPバージョン4.4提供終了の連絡がきた。

5年ほど前に頼まれて作ったホームページで「お知らせ」などの情報を自分たちで簡単に追加修正できるようにしたいと言う事でその項目にPHPプログラムを使用した。
PHPを使うのは、初めてでPHPプログラムの配布サイトからもらってきて、少し修正を加えて問題なく使用してきた。
最初の導入時は、レンタルサーバーのバージョンまではあまり気にせず過ごしてきたが、ここにきてバージョン4.4提供終了の連絡に焦る。
PHPのバージョン互換性は低いと聞いていたのでプログラムの配布サイトに新しいものが無いか探しに行ったが、かなり機能が増えて今使っているような単純なものが無く、再導入も時間がかかるので修正することにした。
PHPは、殆んど知らないのでバージョン7で廃止された関数を調べ始めたが大変なので、私のレンタルサーバ(7.1.2)でテストをしてみることにした。
ホームページを表示すると、Fatal error: Uncaught Error: Call to undefined function ereg() in /home/・・・・・のエラーが出て画面の途中で表示停止。
ereg()をwebのPHP マニュアルで調べるとPHP 7.0.0 で 削除 されました。
「 この関数の代替として、これらが使えます。 preg_match()」とのことで早速2か所preg_matchに置換え修正し単純な表示までは、取りあえずOKとなる。
今度は、お知らせと詳細を入力して表示するとFatal error: Uncaught Error: Call to undefined function ereg_replace() エラーで詳細を表示しない。
同様にマニュアルでereg_replace() を調べると PHP 7.0.0 で 削除 されました。
「この関数の代替として、これらが使えます。 preg_replace()」とのことで早速preg_replaceに置換え修正したがエラーは出なくなったが詳細が表示されない。
単純にPHP 7.0.0 で削除 された関数を代替関数に置換えれば良いと思っていたが・・・
ここから 10日程すっかりはまりこむ
マニュアルを見ながら正規表現や文字列を解析してみるがPHP素人にはわからない。
詳細は省くがwebで色々調べた結果、正規表現パターンは通常、スラッシュ「/」で囲まないといけないことがやっとわかった。(いつからかしらないがereg_replaceのソースにはなかった。)
レンタルサーバーのphpバージョンを最新推奨バージョンの7.4.9に上げ問題なく完了。
次回バージョンが上がっても5年は持つと思うので今更phpを覚える気もなくこれにて終了。

5年ほど前に頼まれて作ったホームページで「お知らせ」などの情報を自分たちで簡単に追加修正できるようにしたいと言う事でその項目にPHPプログラムを使用した。
PHPを使うのは、初めてでPHPプログラムの配布サイトからもらってきて、少し修正を加えて問題なく使用してきた。
最初の導入時は、レンタルサーバーのバージョンまではあまり気にせず過ごしてきたが、ここにきてバージョン4.4提供終了の連絡に焦る。
PHPのバージョン互換性は低いと聞いていたのでプログラムの配布サイトに新しいものが無いか探しに行ったが、かなり機能が増えて今使っているような単純なものが無く、再導入も時間がかかるので修正することにした。
PHPは、殆んど知らないのでバージョン7で廃止された関数を調べ始めたが大変なので、私のレンタルサーバ(7.1.2)でテストをしてみることにした。
ホームページを表示すると、Fatal error: Uncaught Error: Call to undefined function ereg() in /home/・・・・・のエラーが出て画面の途中で表示停止。
ereg()をwebのPHP マニュアルで調べるとPHP 7.0.0 で 削除 されました。
「 この関数の代替として、これらが使えます。 preg_match()」とのことで早速2か所preg_matchに置換え修正し単純な表示までは、取りあえずOKとなる。
今度は、お知らせと詳細を入力して表示するとFatal error: Uncaught Error: Call to undefined function ereg_replace() エラーで詳細を表示しない。
同様にマニュアルでereg_replace() を調べると PHP 7.0.0 で 削除 されました。
「この関数の代替として、これらが使えます。 preg_replace()」とのことで早速preg_replaceに置換え修正したがエラーは出なくなったが詳細が表示されない。
単純にPHP 7.0.0 で削除 された関数を代替関数に置換えれば良いと思っていたが・・・
ここから 10日程すっかりはまりこむ
マニュアルを見ながら正規表現や文字列を解析してみるがPHP素人にはわからない。
詳細は省くがwebで色々調べた結果、正規表現パターンは通常、スラッシュ「/」で囲まないといけないことがやっとわかった。(いつからかしらないがereg_replaceのソースにはなかった。)
レンタルサーバーのphpバージョンを最新推奨バージョンの7.4.9に上げ問題なく完了。
次回バージョンが上がっても5年は持つと思うので今更phpを覚える気もなくこれにて終了。
風呂混合栓 水漏れ修理をするがスッキリしない。
一つの木に赤白ピンクの花が咲いている
ペットボトルで作るマスクフレーム
笑門来福
スマホのアンテナが立たない、電波の入りが悪い原因
最近の食パンは、カビが生えないの?
大津市 新型コロナのワクチン接種予約をしてみて感じた疑問点など
殺菌灯(紫外線UVC)で新型コロナウイルス対策
一つの木に赤白ピンクの花が咲いている
ペットボトルで作るマスクフレーム
笑門来福
スマホのアンテナが立たない、電波の入りが悪い原因
最近の食パンは、カビが生えないの?
大津市 新型コロナのワクチン接種予約をしてみて感じた疑問点など
殺菌灯(紫外線UVC)で新型コロナウイルス対策
この記事へのコメント
おはよう御座います。
10日で解決!
早いですね。
私、アンドロイドのスリープ時にもリアルタイムで動作させるアプリを作るのに半年以上悩んでいますが解決せずです。
10日で解決!
早いですね。
私、アンドロイドのスリープ時にもリアルタイムで動作させるアプリを作るのに半年以上悩んでいますが解決せずです。
Posted by 牛若丸 at 2020年11月01日 11:15
牛若丸さんこんばんは。
元気に耐えていますか。
関数言語は、わかりにくいですね!
現役時代は、色々使いましたが今は何も覚えていません。
ある団体の公式ホームページなので解らないことのへの対応は、少し焦ります。
元気に耐えていますか。
関数言語は、わかりにくいですね!
現役時代は、色々使いましたが今は何も覚えていません。
ある団体の公式ホームページなので解らないことのへの対応は、少し焦ります。
Posted by 爺爺の手習い
at 2020年11月01日 21:37

お元気でお過ごしのようで安心致しました。
私などPSのことはサッパリ理解できず、貴兄や友人に何から何まで助けて頂き解説出来ていることに感謝してます。
トライポッドから開設して20年余書き散らかしていますが、この頃何かと流石に不安に思う時があります。
今では各地の友人達への生存確認?(笑)等と言われながら、戦後団塊世代の生活スタイルの側面を遺せれば、又余生の一つとして書き散らかそうと。
書棚全てを再読しようと二年過ぎました、十年計画ののんびり旅です。こうした時代、この歳だから沢山の時間を持ってるのが何とか救いですねぇ。
私などPSのことはサッパリ理解できず、貴兄や友人に何から何まで助けて頂き解説出来ていることに感謝してます。
トライポッドから開設して20年余書き散らかしていますが、この頃何かと流石に不安に思う時があります。
今では各地の友人達への生存確認?(笑)等と言われながら、戦後団塊世代の生活スタイルの側面を遺せれば、又余生の一つとして書き散らかそうと。
書棚全てを再読しようと二年過ぎました、十年計画ののんびり旅です。こうした時代、この歳だから沢山の時間を持ってるのが何とか救いですねぇ。
Posted by 閑古錐 at 2020年11月02日 17:16
閑古錐さんいつも有難うございます。
元気にしていますよ。ストレスはたまりますが。
閑古錐さんの使命感に燃えた読書はうらやましいかぎりです。
近江爺日記も難しい文章がありNETで辞書を引きながら読んでいます。
気力、体力、知力、集中力の衰えを感じます。
元気にしていますよ。ストレスはたまりますが。
閑古錐さんの使命感に燃えた読書はうらやましいかぎりです。
近江爺日記も難しい文章がありNETで辞書を引きながら読んでいます。
気力、体力、知力、集中力の衰えを感じます。
Posted by 爺爺の手習い
at 2020年11月05日 22:04
