mantisconnect ファイルアップロード時エラー発生



mantisconnectを使用して、ファイルをアップロードすると
エラーになる場合があります。

しばらく放置していたのですが、いい加減対応しないと
いけなくなったので調査しました。

エラーになる条件は、ファイル容量が割と大きい場合に発生すると
察しがついていていたので、(大きいと言っても400Kb程度ですが・・・)
早速それくらいの容量のファイルでテストしてみます。

ZSIモジュールのデバッグは
MantisConnectBindingSOAP
が定義してあるファイルの
self.binding = client.Binding(url=url,**kw)

self.binding = client.Binding(url=url, tracefile=sys.stdout,**kw)
に変更してやると通信の内容がすべて表示されるので、
この方法で追っていきます。


どうやら、mantis/core/database_api.phpのmysql_real_escape_stringで
PHP Fatal error: Allowed memory size of・・・
というエラーが発生している模様。

http://kawama.jp/archives/2007/07/php_fatal_error.html
ここを参考に、php.iniのmemory_limitを思い切って64Mに変更し、
apacheの再起動を行うと登録されるようになりました。

・・・でも、mantisconnectを使用せずにファイルのアップロードを行うと
完了するんですよね。

mantisconnectはバイナリデータをダイレクトに、
mantisはアップロードされたファイルを指定して
DBに登録している模様。

ファイルはデータベースに保存しないように指定したほうがいいのかな?

まあ、ひとまず解決です。



もどる