[PHP-users 26577] PHP 組み込みの XML-RPC 関数 xml_rpc_value のエラー

冬星@銀杏の木 tousei @ ichounoki.info
2005年 8月 24日 (水) 23:26:07 JST


iwata と申します。はじめまして。

Q. PHP 組み込みの XML-RPC 関数 xml_rpc_value のエラーを回避する
  方法をご存知ありませんか?

PEAR の XML-RPC パッケージを使用して XML-RPC 投稿API を作成し運用
しております。投稿API の metaWeblog.newMediaObject() では、
 base64 形式で任意ファイルをサーバーに送信する機能があるのですが、
クライアント側からこの機能を使いファイルを送信したところ 6MB 弱の
ファイルで以下のようなエラーをサーバーが返しました。

この内容から PEAR の XML-RPC パッケージは内部で PHP 組み込みの
 XML-RPC 関数を使用していることと、その内部でメモリアロケーション
のエラーが発生したことがわかります。これを回避したいのですが、
 PHP 組み込みの XML-RPC 関数の一覧をみたところ、特にメモリアロック
に影響しそうなスイッチもなく、もしかすると更に内部で PHP 組み込みの
 XML パーサ関数を仕様していてその制限なのかも知れませんが、いずれに
せよ対処方法が発見できませんでした。

たかだが数MBのファイル転送ができないのでは不便でありますので、
本件解決したいのですが、回避方法についてサジェスチョン頂ければ
幸いです。

# HTTP/1.1 200 OK
# Date: Wed, 24 Aug 2005 12:38:04 GMT
# Server: Apache
# X-Powered-By: PHP/4.3.10
# Transfer-Encoding: chunked
# Content-Type: text/html; charset=UTF-8
# 192
# class xml_rpc_value {
#   var $me = 
#   array (
#     'struct' => 
#     array (
#       'bits' => 
#       class xml_rpc_value {
#         var $me = 
#         array (
#           'base64' => <br />
# <b>Fatal error</b>:  Allowed memory size of 52428800 bytes exhausted (tried to allocate 24006737 bytes) in
# <b>/home/〜.jp/users/〜/XML/RPC/Server.php</b> on line <b>543</b><br/>
# 0

---
PHP 4.3.10(レンタルサーバー上)
PEAR 不明(レンタルサーバー)
Linux 2.4.31(レンタルサーバー)
PEAR XML-RPC package 1.4.0 stable




PHP-users メーリングリストの案内