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に登録している模様。
ファイルはデータベースに保存しないように指定したほうがいいのかな?
まあ、ひとまず解決です。
もどる