php5.4

php5.4を使ってPukiWiki ver1.4.7を構築するとindex.phpが真っ白になり、
エラーを出力する様にindex.phpを書き換えるとエラーの嵐になる(´・ω・`)
一応オフィシャルにパッチがあるのだが、自環境だと上手く適応出来なかったので手書き修正


ちなみに、2014年7月にphp5.4以上に対応したPukiWiki ver1.5.0が公開されたので、
新規に構築する時は最初からver1.5.0を使う事を推奨

参考ページ

最初にやる事

  1. pukiwiki.ini.php
    pukiwiki.ini.phpの内容を確認して、必要項目を書き換える
    よく忘れるのが以下の項目
    // Specify PukiWiki URL (default: auto)
    $script = 'http://example.com/pukiwiki/';

    // Shorten $script: Cut its file name (default: not cut)
    $script_directory_index = 'index.php';

  2. php.ini
    場合によっては、php.iniのinclude_pathを書き換える
    prefix指定無しのmakeでphp5.4をインストールしたのならこんな感じになる筈
    include_path = ".:/usr/local/include/php:/usr/local/lib/php"
    設定し終わったらapacheを再起動

  3. index.php
    真っ白ページからphpのエラーが見える様にする必要がある為、
    pukiwikiのindex.phpを書き換える
    //コメントアウト
    //error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
    
    //アンコメント
    error_reporting(E_ALL); // Debug purpose

  4. .htaccess
    通常は弄る必要が無いのだが、apacheの設定でRewriteEngineをONにしている場合や、
    上層ディレクトリで再帰的にONにしている場合はエラーが出るので、
    pukiwikiのrootディレクトリにある.htaccessに以下を追記する
    DirectoryIndex index.php
    RewriteEngine off
    そして、apache再起動

エラーの種類

上の項目をやった後にpukiwikiのindex.phpを開くと、何らかのエラーが出力されている
以後はエラーに合わせてソースを書き換える

Patch File

書き換えるのが面倒臭い人(自分)用パッチファイル
事前準備としてpukiwiki-1.4.7_notb_utf8-patch.tar.gzをダウンロードし、/home等に移動させておく事

# cd [DocumentRoot]/pukiwiki
# mv /home/pukiwiki-1.4.7_notb_utf8-patch.tar.gz .
# tar zxvf pukiwiki-1.4.7_notb_utf8-patch.tar.gz
# rm pukiwiki-1.4.7_notb_utf8-patch.tar.gz
# cd plugin
# patch -p1 < ../pukiwiki_patch/attach.inc.php.patch
# patch -p1 < ../pukiwiki_patch/ls2.inc.php.patch
# cd ../lib
# patch -p1 < ../pukiwiki_patch/config.php.patch
# patch -p1 < ../pukiwiki_patch/convert_html.php.patch
# patch -p1 < ../pukiwiki_patch/func.php.patch
# patch -p1 < ../pukiwiki_patch/init.php.patch
# patch -p1 < ../pukiwiki_patch/link.php.patch

添付ファイル: filepukiwiki-1.4.7_notb_utf8-patch.tar.gz 742件 [詳細]