Yoshiyuki Okamoto
okamo****@gmail*****
2011年 5月 18日 (水) 19:48:55 JST
はじめまして。 岡本と申します。 現在CodeIgniter1.7.2をベースに作られたシステム(WEBとバッチ)を CodeIgniter2.0.2に置き換える作業をしているのですが、 その中で数点バグ?のような内容を発見しました。 対応はしたのですが、コアに手をいれたくないので、 本体側に修正依頼をしたいのですが どのようにすればよいか、アドバイスいただけないでしょうか? --------------------------------------------------------------------------------------------------------------------------------- (その1)Form_validationでコールバックのValidation関数がうまく動かない (環境)Windows XP 64bit XAMPP 1.7.4 PHP5.3系 (対応)system/libraries/Form_validation.phpを修正して解決。 492c492 < if (preg_match("/(callback_\w+)/", implode(' ', $rules), $match)) --- > if (preg_match("/(callback_.+)/", implode(' ', $rules), $match)) --------------------------------------------------------------------------------------------------------------------------------- (その2)Memcacheのキャッシュドライバー読み込み時にエラーが発生。 (環境)CentOS release 5.4 PHP5.2系 (対応)system/libraries/Driver.phpを修正して解決。 62c62 < $filepath = $path.'libraries/'.$lib_name.'/drivers/'.$class.EXT; --- > $filepath = $path.'libraries/'.ucfirst($lib_name).'/drivers/'.$class.EXT; --------------------------------------------------------------------------------------------------------------------------------- (その3)ControllerでPear::Mailをrequreしたらapacheが強制終了。 8192番エラー(E_DEPRECATED)発生が関係している??? (環境)Windows XP 64bit XAMPP 1.7.4 PHP5.3系 (対応)system/core/Common.phpを修正して解決。 444c444 < if ($severity == E_STRICT) --- > if ($severity == E_STRICT || $severity == 8192) --------------------------------------------------------------------------------------------------------------------------------- 以下はバグではないと思いますが、改善したい点です。 (その4)Memcacheのキャッシュドライバーのsaveメソッドで値の上書きができない。 (例) $CI->cache->memcached->save('sess_id', 'value1'); $CI->cache->memcached->save('sess_id', 'value2'); とした場合に、value2がはいらない様子。 (対応)上書きしたかったのでCache_memcached.phpに下記の修正をしました。 67c67,74 < return $this->_memcached->add($id, array($data, time(), $ttl), $ttl); --- > if ($this->_memcached->get($id) === FALSE) > { > return $this->_memcached->add($id, array($data, time(), $ttl), $ttl); > } > else > { > return $this->_memcached->set($id, array($data, time(), $ttl), $ttl); > } --------------------------------------------------------------------------------------------------------------------------------- いまのところ、上記4点についてsystemフォルダ内を修正してしまったのですが、 修正したくないので、本体修正依頼するか、別の方法で回避したいと考えています。 いきなり長文ですみませんが、アドバイスいただければ幸いです。