0

私は Zend を初めて使用し、Zend Framework2、Dojo、および Zend Json サーバーを使用して Web アプリケーションを学び、構築するために最善を尽くしています。Dojo コンポーネントを使用して HTML ページを作成しました。マイページは最初に完全にダウンロードされます (この時点では json 呼び出しはありません)。応答のためにJsonサーバーを呼び出し、応答を解析して国フィルター選択ボックスをロードするonBlur関数を追加しました。Dojo filterselect は、サーバーを呼び出してデータを返す json rpc クライアントを使用します。私のデータ(DBのレコード)が最大60レコードの場合、完全に正常に機能します。しかし、そのリストが 60 レコード (場合によっては 200 以上のレコード) を超えている場合、zend サーバーは例外をダンプします (応答として、json データ + 解析に失敗した例外が保持されます)で "

Json server details
    public function populatelistAction() {
    $class = "MO\Model\MOGuest";
    $server = new Server();
    $server->setClass($class);
    if ('GET' == $_SERVER['REQUEST_METHOD']) {
    $server->setTarget('populatelist')->setEnvelope(Smd::ENV_JSONRPC_2);
    $smd = $server->getServiceMap();
    // Set Dojo compatibility:
    $smd->setDojoCompatible(true);
    header('Content-Type: application/json');
    echo $smd;
    return $this->getResponse();
    } else {
    //$server->handle(); 
    }
    $server->handle();
    return $this->getResponse();
}

60 recまでは機能し、それ以上は失敗するので、私は無知なので、問題について教えてください。以下は私が得た例外です。これはバグですか、それとも私が見逃したものですか。サービスへの直接呼び出し (Restclient firefox アドオンを使用) も失敗するため、Dojo とは関係がないことを確認しました。

{"id":"208","catcode":"SR"},{"id":"209","catcode":"SJ"},{"id":"210","catcode":"SZ"},{"id":"211","catcode":"SE"},{"id":"212","catcode":"CH"},{"id":"213","catcode":"SY"},{"id":"214","catcode":"TW"},{"id":"215","catcode":"TJ"},{"id":"216","catcode":"TZ"},{"id":"217","catcode":"TH"},{"id":"218","catcode":"TL"},{"id":"219","catcode":"TG"},{"id":"220","catcode":"TK"},{"id":"221","catcode":"TO"},{"id":"222","catcode":"TT"},{"id":"223","catcode":"TN"},{"id":"224","catcode":"TR"},{"id":"225","catcode":"TM"},{"id":"226","catcode":"TC"},{"id":"227","catcode":"TV"},{"id":"228","catcode":"UG"},{"id":"229","catcode":"UA"},{"id":"230","catcode":"AE"},{"id":"231","catcode":"US"},{"id":"232","catcode":"UM"},{"id":"233","catcode":"UY"},{"id":"234","catcode":"UZ"},{"id":"235","catcode":"VU"},{"id":"236","catcode":"VE"},{"id":"237","catcode":"VN"},{"id":"238","catcode":"VG"},{"id":"239","catcode":"VI"},{"id":"240","catcode":"GB"},{"id":"241","catcode":"WF"},{"id":"242","catcode":"EH"},{"id":"243","catcode":"YE"},{"id":"244","catcode":"ZM"},{"id":"245","catcode":"ZW"}]],"id":"1"}<br />
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Cannot modify header information - headers already sent by (output started at C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Json\Server\Server.php:182) in C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Http\PhpEnvironment\Response.php on line <i>62</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0236</td><td bgcolor='#eeeeec' align='right'>644056</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\public\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.7178</td><td bgcolor='#eeeeec' align='right'>9273664</td><td bgcolor='#eeeeec'>Zend\Mvc\Application->run( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\public\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>12</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>1.8114</td><td bgcolor='#eeeeec' align='right'>11844912</td><td bgcolor='#eeeeec'>Zend\EventManager\EventManager->trigger( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Mvc\Application.php' bgcolor='#eeeeec'>..\Application.php<b>:</b>303</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>1.8114</td><td bgcolor='#eeeeec' align='right'>11845120</td><td bgcolor='#eeeeec'>Zend\EventManager\EventManager->triggerListeners( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php' bgcolor='#eeeeec'>..\EventManager.php<b>:</b>208</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>1.8138</td><td bgcolor='#eeeeec' align='right'>11847840</td><td bgcolor='#eeeeec'><a href='http://www_php_net/call_user_func' target='_new'>call_user_func</a>
( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php' bgcolor='#eeeeec'>..\EventManager.php<b>:</b>468</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>1.8138</td><td bgcolor='#eeeeec' align='right'>11847872</td><td bgcolor='#eeeeec'>Zend\Mvc\View\SendResponseListener->sendResponse( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php' bgcolor='#eeeeec'>..\EventManager.php<b>:</b>468</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>1.8139</td><td bgcolor='#eeeeec' align='right'>11847872</td><td bgcolor='#eeeeec'>Zend\Http\PhpEnvironment\Response->send( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Mvc\View\SendResponseListener.php' bgcolor='#eeeeec'>..\SendResponseListener.php<b>:</b>71</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.8139</td><td bgcolor='#eeeeec' align='right'>11847872</td><td bgcolor='#eeeeec'>Zend\Http\PhpEnvironment\Response->sendHeaders( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Http\PhpEnvironment\Response.php' bgcolor='#eeeeec'>..\Response.php<b>:</b>100</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>1.8142</td><td bgcolor='#eeeeec' align='right'>11848000</td><td bgcolor='#eeeeec'><a href='http://www/php/net/header' target='_new'>header</a>
( )</td><td title='C:\Users\amsh\Documents\NetBeansProjects\myoffice\vendor\zendframework\zendframework\library\Zend\Http\PhpEnvironment\Response.php' bgcolor='#eeeeec'>..\Response.php<b>:</b>62</td></tr>
</table></font>"
4

1 に答える 1

0

私はそれが欠陥であると強く信じており、これに対する修正が私によって作成されました. Zend チームのみが問題と修正について確認します。悲しいことに、今のところ誰もこの問題を調査していません。

詳細については、以下のリンクを参照してください。この修正プログラムを使用する予定がある場合は、修正プログラムについて保証する適切な人物ではないため、修正プログラムが正しいことを確認する必要があります。その場合は、Zend フレームワーク チームにお問い合わせください。これは Zend の初心者である私による修正であるため、修正は Zend チームによって認定されるか、より良い解決策が提供される必要があります。 https://github.com/zendframework/zf2/issues/3225

于 2012-12-18T08:08:14.860 に答える