PHP: Hypertext Preprocessor

PukiWiki のサイト http://centromezzo.sakura.ne.jp/wiki/ は、PHP 4.4.9 で動いており特に問題もないのだが、WordPress の新バージョンは PHP 5 を要求しているので、更新することにした。

しかし、ただ PHP を 5.3.10 にしただけではうまく動かない。

  • 主な現象1 #contents で文字が表示されない
  • 主な現象2 見出し * ** *** が &aname: Meaningless(No link-title with 'super'); と表示される。
  • 主な現象3 #vote の文字が表示されない。

そこで、ローカルに PHP 5 の環境をつくり確かめることにした。

Windows 7 だったので、Web Platform Installer で WebMatrix と、PHP をインストールして、さくらインターネットのサーバーコントロールパネルで、zip 形式でまとめてダウンロードし、ドキュメント下の My Web Sites に展開する。WebMatrix の画面から、「フォルダーからサイトを作成する」を展開したフォルダーを選ぶ。

WebMatrix に、URL が表示されるので、それを選べば、ローカルの PukiWiki が開くはずだが、404.21 エラーが発生。エラーメッセージを読むと、PHP の有効化の手順が書いてあったので、それを実行すると、PukiWiki が動作した。

トップに配置している #calendar_viewer の動きはおかしいが他は動くぞと思ったが、pukiwiki.ini.php の設定でサーバーに飛んでしまっていることに気づき $script と、$modifierlink を修正する。やっと、サーバーと同じ現象が発生する。

検索してみると、「&aname: Meaningless(No link-title with 'super');」 は各所で発生している様だが、解決策は見つからず。新規ページを作成し、「*AAA」と入力しただけで発生する。

PukiWiki をクリーンインストールして見たところ問題なく表示される...

WinMerge で比較を行い、違っているものを差し替えて確認すると、default.ini.php の違いでうまくいっていなかったことを突き止める。どうも正規表現のエスケープ \ がついていないことが原因だった。

ヘッダーのバージョンは同じだし、取り除いた覚えはないのだけれど...

default.ini.php 置き換えて動作することを確認。PHP を 5.3.10 に変更して動作することを確認した。

めでたし、めでたし。

選択肢 投票
参考になった 0  
参考にならなかった 0  


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-02-10 (金) 00:04:57 (4457d)