''[[開発日記/2014-07-14]] にて 公式に PHP5.4 対応した r1.5.0 が準備されています。緊急でない場合は 公式版リリースをお待ちください。''
-''[[開発日記/2014-07-19]] にて PHP5.4 対応した r1.5.0 が公式リリースされました。 -> [[official:PukiWiki/Download/1.5.0]]''
-''[[開発日記/2014-07-14]] にて 公式に PHP5.4 対応した r1.5.0 が準備されています。緊急でない場合は 公式版リリースをお待ちください。''

----

次のページから、 [[BugTrack2/353]] で提案中のPHP5.4対応版をダウンロードできます。

- [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]]
-- pukiwiki-1_5_0_utf8-rev3.bt2353_proposal.zip : UTF-8版
-- pukiwiki-1_5_0_eucjp-rev3.bt2353_proposal.zip : EUC_JP版

(※2014/07/12 -rev3 に更新 [[#xd058eea]] )

以下、既に稼働している PukiWiki 1.4.7 利用サイトを PHP 5.4 対応にする手順の説明です。この操作を「PHP5.4対応パッチを当てる」と呼びます。

patchコマンドを使うことにより、PukiWikiをカスタマイズしていても、PHP5.4対応にすることができます。

#contents

* 前提 [#pcb4fdfa]

- Linux など Unix 系サーバーでPukiWikiを動作させており、ファイルの変更は Windows 上で行う。
-- Linux の Shell が使える場合は、バックアップ後に直接 patch -p1 コマンドでパッチを当てることができます。

* PHP5.4対応パッチを当てる手順 [#pf8d1bf4]
** 準備 [#aa012993]

- サイトの全データ・ファイルをバックアップしておく。
-- パッチ当てがうまくいかなかった場合に元に戻すため
- PukiWiki の文字コードが UTF-8 であるか EUC_JP であるか確認する。
-- UTF-8 と EUC_JP の場合で、当てるパッチファイルが異なります。

** インストールしておくもの [#i9df917b]

- Git for Windows
-- URL: git-scm.com から 'Download for Windows' をクリックしてダウンロード・インストール
- TortoiseGit
-- URL: code.google.com/p/tortoisegit/ から 'Download and Install' など


** UTF-8 版 r1.4.7 のサイトを PHP5.4 対応にする方法 [#c7f892cd]

- (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。
-- ルートにあるファイルすべて (inddex.php, INSTALL.txt など)
-- skin/ ディレクトリ
-- lib/ ディレクトリ
-- plgins/ ディレクトリ
- (2) [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] から pw_147to150_utf8.patch 及び pw_147to150-rev2_utf8.patch , pw_147to150-rev3_utf8.patch をダウンロードする。
- (3) Git Bash を起動し、以下のように patch コマンドを実行する。
 $ patch -p1 < ../pw_147to150_utf8.patch
 $ patch -p1 < ../pw_147to150-rev2_utf8.patch
 $ patch -p1 < ../pw_147to150-rev3_utf8.patch

実行例:
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages
 $ cd my_pukiwiki_files_utf8/
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_utf8
 $ patch -p1 < ../pw_147to150_utf8.patch
 patching file `INSTALL.txt'
 patching file `README.txt'
 patching file `lib/auth.php'
 patching file `lib/backup.php'
 patching file `lib/convert_html.php'
 patching file `lib/diff.php'
 patching file `lib/file.php'
 patching file `lib/func.php'
 patching file `lib/html.php'
 patching file `lib/init.php'
 patching file `lib/link.php'
 patching file `lib/make_link.php'
 patching file `lib/plugin.php'
 patching file `lib/pukiwiki.php'
 patching file `plugin/amazon.inc.php'
 patching file `plugin/aname.inc.php'
 patching file `plugin/article.inc.php'
 patching file `plugin/attach.inc.php'
 patching file `plugin/back.inc.php'
 patching file `plugin/backup.inc.php'
 patching file `plugin/bugtrack.inc.php'
 patching file `plugin/calendar.inc.php'
 patching file `plugin/calendar2.inc.php'
 patching file `plugin/calendar_viewer.inc.php'
 patching file `plugin/color.inc.php'
 patching file `plugin/comment.inc.php'
 patching file `plugin/diff.inc.php'
 patching file `plugin/edit.inc.php'
 patching file `plugin/freeze.inc.php'
 patching file `plugin/include.inc.php'
 patching file `plugin/includesubmenu.inc.php'
 patching file `plugin/insert.inc.php'
 patching file `plugin/interwiki.inc.php'
 patching file `plugin/lookup.inc.php'
 patching file `plugin/ls2.inc.php'
 patching file `plugin/map.inc.php'
 patching file `plugin/md5.inc.php'
 patching file `plugin/memo.inc.php'
 patching file `plugin/menu.inc.php'
 patching file `plugin/navi.inc.php'
 patching file `plugin/new.inc.php'
 patching file `plugin/newpage.inc.php'
 patching file `plugin/online.inc.php'
 patching file `plugin/paint.inc.php'
 patching file `plugin/pcomment.inc.php'
 patching file `plugin/popular.inc.php'
 patching file `plugin/random.inc.php'
 patching file `plugin/read.inc.php'
 patching file `plugin/recent.inc.php'
 patching file `plugin/ref.inc.php'
 patching file `plugin/referer.inc.php'
 patching file `plugin/related.inc.php'
 patching file `plugin/rename.inc.php'
 patching file `plugin/ruby.inc.php'
 patching file `plugin/search.inc.php'
 patching file `plugin/setlinebreak.inc.php'
 patching file `plugin/showrss.inc.php'
 patching file `plugin/source.inc.php'
 patching file `plugin/stationary.inc.php'
 patching file `plugin/template.inc.php'
 patching file `plugin/topicpath.inc.php'
 patching file `plugin/tracker.inc.php'
 patching file `plugin/unfreeze.inc.php'
 patching file `plugin/versionlist.inc.php'
 patching file `plugin/vote.inc.php'
 patching file `plugin/yetlist.inc.php'
 patching file `skin/tdiary.skin.php'
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ patch -p1 < ../pw_147to150-rev2_utf8.patch
 patching file `plugin/attach.inc.php'
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ patch -p1 < ../pw_147to150-rev3_utf8.patch
 patching file `plugin/ref.inc.php'
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $


- (4) 動作確認を行う。
- (5) 稼働中サーバーに上書きアップロードする。


** EUC_JP 版 r1.4.7 の PukiWiki サイトを PHP 5.4 対応にする方法 [#o04250f0]


- (1) 動作しているディレクトリから以下のファイル・ディレクトリをダウンロードしてくる。
-- ルートにあるファイルすべて (inddex.php, INSTALL.txt など)
-- skin/ ディレクトリ
-- lib/ ディレクトリ
-- plgins/ ディレクトリ
- (2) [[sourceforge.jp/users/umorigu/pf/pukiwiki15/files/>cvs:../../../../../users/umorigu/pf/pukiwiki15/files/#]] から pw_147to150_eucjp.patch 及び pw_147to150-rev2_eucjp.patch , pw_147to150-rev3_eucjp.patch  をダウンロードする。
- (3) Git Bash を起動し、以下のように patch コマンドを実行する。
 $ patch -p1 < ../pw_147to150_eucjp.patch
 $ patch -p1 < ../pw_147to150-rev2_eucjp.patch
 $ patch -p1 < ../pw_147to150-rev3_eucjp.patch

実行例:
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages
 $ cd my_pukiwiki_files_eucjp/
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ ls
 COPYING.txt          attach           en.lng.php      plugin
 INSTALL.txt          backup           image           pukiwiki.ini.php
 README.en.txt.zip    cache            index.php       rules.ini.php
 README.txt           counter          ja.lng.php      skin
 UPDATING.en.txt.zip  default.ini.php  keitai.ini.php  trackback
 UPDATING.txt         diff             lib             wiki
 
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ patch -p1 < ../pw_147to150_eucjp.patch
 patching file `INSTALL.txt'
 patching file `README.txt'
 patching file `lib/auth.php'
 patching file `lib/backup.php'
 patching file `lib/convert_html.php'
 patching file `lib/diff.php'
 patching file `lib/file.php'
 patching file `lib/func.php'
 patching file `lib/html.php'
 patching file `lib/init.php'
 patching file `lib/link.php'
 patching file `lib/make_link.php'
 patching file `lib/plugin.php'
 patching file `lib/pukiwiki.php'
 patching file `plugin/amazon.inc.php'
 patching file `plugin/aname.inc.php'
 patching file `plugin/article.inc.php'
 patching file `plugin/attach.inc.php'
 patching file `plugin/back.inc.php'
 patching file `plugin/backup.inc.php'
 patching file `plugin/bugtrack.inc.php'
 patching file `plugin/calendar.inc.php'
 patching file `plugin/calendar2.inc.php'
 patching file `plugin/calendar_viewer.inc.php'
 patching file `plugin/color.inc.php'
 patching file `plugin/comment.inc.php'
 patching file `plugin/diff.inc.php'
 patching file `plugin/edit.inc.php'
 patching file `plugin/freeze.inc.php'
 patching file `plugin/include.inc.php'
 patching file `plugin/includesubmenu.inc.php'
 patching file `plugin/insert.inc.php'
 patching file `plugin/interwiki.inc.php'
 patching file `plugin/lookup.inc.php'
 patching file `plugin/ls2.inc.php'
 patching file `plugin/map.inc.php'
 patching file `plugin/md5.inc.php'
 patching file `plugin/memo.inc.php'
 patching file `plugin/menu.inc.php'
 patching file `plugin/navi.inc.php'
 patching file `plugin/new.inc.php'
 patching file `plugin/newpage.inc.php'
 patching file `plugin/online.inc.php'
 patching file `plugin/paint.inc.php'
 patching file `plugin/pcomment.inc.php'
 patching file `plugin/popular.inc.php'
 patching file `plugin/random.inc.php'
 patching file `plugin/read.inc.php'
 patching file `plugin/recent.inc.php'
 patching file `plugin/ref.inc.php'
 patching file `plugin/referer.inc.php'
 patching file `plugin/related.inc.php'
 patching file `plugin/rename.inc.php'
 patching file `plugin/ruby.inc.php'
 patching file `plugin/search.inc.php'
 patching file `plugin/setlinebreak.inc.php'
 patching file `plugin/showrss.inc.php'
 patching file `plugin/source.inc.php'
 patching file `plugin/stationary.inc.php'
 patching file `plugin/template.inc.php'
 patching file `plugin/topicpath.inc.php'
 patching file `plugin/tracker.inc.php'
 patching file `plugin/unfreeze.inc.php'
 patching file `plugin/versionlist.inc.php'
 patching file `plugin/vote.inc.php'
 patching file `plugin/yetlist.inc.php'
 patching file `skin/tdiary.skin.php'
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ patch -p1 < ../pw_147to150-rev2_utf8.patch
 patching file `plugin/attach.inc.php'
 
 umorigu@UMORIGUVAIO ~/Documents/pw/pwc/packages/my_pukiwiki_files_eucjp
 $ patch -p1 < ../pw_147to150-rev3_utf8.patch
 patching file `plugin/ref.inc.php'


- (4) 動作確認を行う。
- (5) 稼働中サーバーに上書きアップロードする。


** コンフリクトしたとき [#cba48f55]


ベースとなるバージョンが1.4.7でなかったりPukiWiki自体をカスタマイズして運用していたりする場合、上記の手順では一部または全てのパッチ当てに失敗することがあります。(コンフリクト)

patch コマンドの出力をチェックし、パッチ当てに失敗した個所では手動で編集を行います。

手動で編集するには、以下のような方法などがあります。
-ベースとなるバージョンのクリーンな状態と現時点の差分を記録しておき、別の場所にクリーンな状態で→1.4.7→PHP5.4対応版とパッチを適用した環境を用意してから、先に記録しておいた差分より必要な部分をサルベージする


** Gitを利用して安全にパッチを当てる [#a5497de5]

(Coming soon)

* このページの変更履歴 [#xd058eea]

- 2014/07/08 日本語ファイル名に対応した rev2 版に更新
-- 差分は pw_147to150-rev2_utf8.patch , pw_147to150-rev2_eucjp.patch です。
-- [[sourceforge.jp/users/umorigu/pf/pukiwiki15/scm/commits?branch=branch_r1_5>cvs:../../../../../users/umorigu/pf/pukiwiki15/scm/commits?branch=branch_r1_5#]]
-- [[BugTrack2/354]] 添付ファイルダウンロードで日本語ファイル名が文字化けする
- 2014/07/12 refプラグインの日本語ファイル名に対応した rev3 版に更新

* コメント [#t3d7c52a]
----
- PHP5.5+EUC_JP版で日本語ファイル名のファイルをダウンロード時、ファイル名が文字化けするケースがあるようです。→ *rev3* で修正済み -- [[umorigu]] &new{2014-07-08 (火) 02:20:28};

#comment
//#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.105 sec.

OSDN