<   2007年 06月 ( 1 )   > この月の画像一覧

 

PHP5で動作させるには

2009/06/26 wizファンクラブより引用

投稿者 : yito

Windows+PHP5 の環境で動作させるための情報をこのスレッドにまとめます。
何か新しい問題が出てきたときには、できるだけこのスレッドに続けてください。

【問題1】スケジュール帳で「前の月」「次の月」が正しく表示されない。

[解決法]:schedule2.phpの 2485行目を以下のように修正する。
 // カレンダー上の初日取得
 $tempDateInfo = $dateInfo;
  ↓
 // カレンダー上の初日取得
 $tempDateInfo = new DateInfo();

[参考] PHP5での異常な動き、スケジュール帳の月表示

【問題2】掲示板の設定、表示ページにアクセスできない。

[原因]:wiz\bbs\lang\japanese.php の中の関数名 date_format が問題の模様。
PHP の同名の関数とかぶっているから?

[解決法]:関数名を date_format_wiz とでも適当に変更する。
date_format を呼んでいる以下の箇所も合わせて変更が必要。
 wiz\bbs\index.php の 186行目
 wiz\bbs\read.php の 526行目
 wiz\bbs\search.php の 487行目
 wiz\bbs\admin\pages\easyadmin.php の 65行目
 wiz\bbs\include\multi-threads.php の 55行目
 wiz\bbs\include\threads.php の 120行目と 124行目
 wiz\bbs\scripts\news.php の 50行目
(注) 掲示板の設定には入れるがフォーラムが作成できない現象とは異なる。その場合は ユーザ(nobody)の作成権限の問題と思われる。

【問題3】ファイル共有でファイルのアップロードが失敗する(これは PHP4でも起きる)。

[原因]:php.iniで、以下の組み合わせの場合に起きる。
 output_handler = mb_output_handler
 mbstring.http_output = SJIS

[解決法]:php.iniを以下のように変更する(コメント化でもよいが)。
 output_handler = mb_output_handler
  ↓
 output_handler =
もし output_handlerを変更できない理由があるなら、
 mbstring.http_output = SJIS
  ↓
 mbstring.http_output = pass
でもよい。どちらかというと後者の方をお勧めする。

(注) 上記の内容とは関係ないが、ファイル共有したファイル名の一部消失について の現象は Windows上では起きないようである。

以下 2006.06.07追記
【問題4】メール送信時に undefined function i18n_convert() エラーが発生する。

[原因] PHP5には i18n_convert 関数がないから。

[解決法] 以下の10箇所の mb_send_mailを呼んでいる箇所を修正する。
wiz\wiz\flowpetit.php 669行目、787行目、888行目
wiz\wiz\schedule2.php 1252行目
wiz\wiz\telmemo.php 227行目、265行目
wiz\wiz\workflow.php 1062行目、2316行目
wiz\wiz\class\keitaiRoutineForPc.php 36行目
wiz\wiz\class\NoticeDrawUp.php 251行目

例えば最初の wiz\wiz\flowpetit.php の 669行目の場合であれば、
mb_send_mail($email, ("=?iso-2022-jp?B?" . base64_encode(i18n_convert("[WIZ] ワークフロー 承認済","JIS","EUC")) . "?="), $mailstr, "From:$fromMailStr");
 ↓
mb_send_mail($email, "[WIZ] ワークフロー 承認済", $mailstr, "From:$fromMailStr");
のように、mb_send_mail内の
「("=?iso-2022-jp?B?" . base64_encode(i18n_convert(」

「,"JIS","EUC")) . "?=")」
を削除する。他の 9箇所も同様。

Subjectの文字コード変換、base64エンコード、iso-2022-jpの付与は外で自分で実行しなくても mb_send_mail関数の中で実行される。
[PR]

by nonn-21 | 2007-06-03 14:59 | 自宅鯖