|
前々から「PHP4終了しまーす(だから早めに5に切り替えてね!)」とのアナウンスは出てた。
でも、敢えて無視してたのは、切り替えて動かなくなったらどうしようと思ってたから(笑)。
ほかにもXOOPSの心配とかもあったんだけど、これは「大丈夫です」とロリポが言ってるから、多分大丈夫??
(結構カスタマイズとか、怪しい(笑?)モジュール入れてるから、ちょい不安なんです…)
XOOPS入れてる方は、自分の実験サイトではないので、対処出来ない状態になったらマジで困るんだが…+o+;;
で。
主ページは最近全く更新してしないので、PHPのバージョンが変更になろうがサーバー番号が変更になろうが、ほんとなら気づかなかった…ような気がするんですが(笑)、幸か不幸か?、よりによって毎日チェックしてるページが、数時間後に開いたらPHPエラー吐いてて、「!?!?!?!?!?」
…それは「レッツphp」さんとこのスクリプトを使用した、私的rssトピックス。友人知人のブログの新着は、ここでチェックしてるんです。
ぎょっとして、恐る恐る、ほかのphpページを確認。
あれ?…掲示板とかチャットはなんでもないや?(ナゼ??)
とりあえず、公式の「お知らせ」を確認。あーやっぱり。とうとうサーバー移動がきたか…とTT。
ついでにPHPも勝手に5に上がっちゃった、と…><。
ログインして、なんじゃら変更箇所を眺めて見たけど、さっぱり意味が判らない…。
(というか、どうもその辺りが原因じゃないような…)
エラー内容はこんな感じ。(メモらなかったので、再現してみた)
Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: No such file or directory in /home/users/1/***/web/***/Parser.php on line 39
Fatal error: require_once() [function.require]: Failed opening required 'PEAR.php' (include_path='.:/usr/local/php5.2/php') in /home/users/1/***/web/***/Parser.php on line 39
これは「PEAR.phpが見つからないっス。Parser.phpの39行目が変っス」という意味のエラー。
そうね…PEAR.phpなんて上げてないもんね…。
いるの??いつの間に???(怒)
レッツphpさんへ飛ぶ。このページ作ったのかなり前だから忘れちゃったよ…。
「RSSブロガー」にphp5用のスクリプトがあった…のか。
そしてどうも「PEAR XML_RSS」つーもんを入れねばならぬ感じ(笑)。
説明どおり、XML_RSS、XML_ParserからDLして、RSS.phpとParser.phpをアップ。
RSS.phpの先頭を「require_once 'Parser.php';」に修正…しようと思ったら、もうなってたが?
「PEARすら導入されてない場合」のようなので、PEARもDL。同一ディレクトリに置く。
するってーと、今度はこんなエラー(笑)
Warning: require_once(XML/Parser.php) [function.require-once]: failed to open stream: No such file or directory in /home/users/1/***/web/***/RSS.php on line 17
Fatal error: require_once() [function.require]: Failed opening required 'XML/Parser.php' (include_path='.:/usr/local/php5.2/php') in /home/users/1/***/web/***/RSS.php on line 17
「XML/Parser.phpが見つからないっス。RSS.phpの17行目が変っス」
XML/Parser.phpってなんやねん!!!><
(これはあとで気づいたんだが、「require_once 'Parser.php';」と修正したのは、PHP4バージョンのRSS.phpで、5バージョンのをアップした時、デフォルトでXMLディレクトリに入ったままだったのに気づかなかったのね…。エラー行もまさにこれ。この時気づいてれば、XML取ってやるだけで解決したのに…)
とまあ、結局判らなくなって一旦終了。友'sのrssは全部My Yahoo!に突っ込んでその場をしのぐことに。
翌日。
なんか糸口はないかと、ネット上探し回ってたら、こんなブログを発見。
注目すべきは、
サーバの任意のフォルダ「○○○」に、「Pager」というフォルダを作って、パッケージ内のphpファイルを全てアップロード。
というところです。これで初めて「そっか!ディレクトリ作ってやればいいのか!!」と思い至った…アホです^^;;
それで、XMLディレクトリの中にParser.phpを移動。
RSS.phpも移動しなさい!というエラーが出たので、これも移動。
はい、めでたく表示!!><v
…
…
しかし、実はこれ、さらにオチがありまして。
こんなめんどくさいことしなくても、ちょっと記述を書き変えればXMLディレクトリなんか作らなくてもよかったのです…。
(1)XML_RSS、XML_ParserからDLして、PHP5用のRSS.phpとParser.phpをゲット。
(2)RSS.phpの17行あたりの require_once 'XML/Parser.php'; を require_once 'Parser.php'; に。
(3)PEAR.phpもゲット。
736行あたりの include_once 'PEAR5.php'; を include_once 'PEAR.php'; に(5を削除)
845行あたりの $skiptrace = PEAR5::getStaticProperty〜 も同様に「5」を取る
これで動くはずです。(PEAR.phpはほかにもPEAR5記述の部分があったんだけど、なぜかエラーが出たのはこの2カ所だけでした。意味わからん(笑))
ツリー表示すると
>documentroot / index.html (トップページ)
|
+-- *** / index.html
| Parser.php
| PEAR.php
| RSS.php
| rssv.php
つまり、どういうことかというと、PHP4用のスクリプトをPHP5用のに差し替えれば済んだ、という話でした。
毎度毎度、二転三転した書き方ですいません…(笑)。
|