質問 > 管理機能 > 受注管理 》 受注登録で「Out of memory」が発生しています。 |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
kaendaiko |
投稿日時: 2017/5/14 11:55
対応状況: −−−
|
半人前 登録日: 2017/5/11 居住地: 投稿: 20 |
Re: 受注管理 》 受注登録で「Out of memory」が発生しています。 Coinpad さん
恐らく、ほぼ白紙の画面は、SmartyテンプレートファイルのPHPでのコンパイルが出来ておらず、PHPで実行可能なコンパイルファイルが生成されないため、その部分が白紙のようです。その場合、時々、coreファイルが出力されているようです。Out of memoryのエラー表示が出る画面は、コンパイルファイルは生成されているのですが、そのファイルをPHPで実行する時にメモリ不足エラーになるようです。 その後、GMOさんで現象の再現ができるように、Out of memoryのエラーが表示される最小限のカスタマイズをしたテンプレートファイルを1つ作成してGMOさんに送りました。GMOさんの環境でも再現できるとよいのですが。新たにEC-CUBEをインストールし、受注登録画面のテンプレートファイルのみを徐々にカスタマイズして行数を増やしていったところ、900行程度になったところで、Out of memoryとなりました。その他のファイルは全てインストールした状態のままですので、GMOさんでも簡単に再現できるのではないかと期待しています(インストールしたままの状態のEC-CUBEではメモリ不足エラーは発生しませんでした)。 ちなみに、受注登録画面の実際にカスタマイズしたファイル行数はもう少し多いのですが、それぞれ EC-CUBEオリジナルファイル:800行 ぎりぎりエラーになるファイル:900行 実際のカスタマイズファイル:1000行 くらいのサイズです。つまり、900行以内にカスタマイズを抑えられれば、テンプレートのコンパイル時にメモリ不足エラーにならないかもしれません。ただし、画面カスタマイズした部分に対応するビジネスロジックのクラス拡張でロジックコード行数も増えますので、受注登録画面で実際に実行できる追加可能行数は、ざっくり、テンプレートファイル50行、クラス拡張ファイル50行、といった感じかもしれません(メモリ消費を抑えたコードにすればもう少し追加できるかもしれませんが)。そうなると、ほとんどカスタマイズできないことになります。 なかなかつらい状況ですが、GMOさんでの検証を待ちながら、現在は、メモリ不足にならないやり方を思案中です。また、最悪は、サーバ引っ越しも検討しつつあります。なお、GMOさんの名誉のために・・今回の64bit化の案内は、2週間前の4月26日にあり、64bitの事前検証環境も用意されていました。その時点で検証していれば気が付くのがもう少し早かったのですが(涙)。 GMOさんからのお返事がありましたら、私からもご報告いたします。 |
フラット表示 | 前のトピック | 次のトピック |