2

問題: 顧客がログインし、製品を管理パネルに保存すると、フロントエンドが更新され、エラーが表示されます:

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 88 bytes) in /home/staging/public/kralengroothandel/app/code/local/Zend/Db/Statement/Pdo.php on line 297

また

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 83 bytes) in /home/staging/public/kralengroothandel/lib/Varien/Simplexml/Element.php on line 196

問題が発生する Pdo.php 行:

public function _execute(array $params = null)
{
    try {
        if ($params !== null) {
            return $this->_stmt->execute($params);
        } else {
            return $this->_stmt->execute();
        }

二位:

public function fetchAll($style = null, $col = null)
    {
        if ($style === null) {
            $style = $this->_fetchMode;
        }
        try {

            if ($style == PDO::FETCH_COLUMN) {

                if ($col === null) {

                    $col = 0;
                }
                return $this->_stmt->fetchAll($style, $col);
            } else {
                return $this->_stmt->fetchAll($style);
            }

Element.php:

 if (!$desc) {
     return false;
 }

ローカル マシンに同じコードとデータベースがありますが、この問題はありません。

Zend_Db lib が内部メモリ制限を設定しているため、memory_limit は 512M に設定されていますが、ここでは問題はないと思います。だから私ini_set('memory_limit', '1024M');は Pdo.php を入れようとしますが、それも役に立ちません。私は OneStepCheckout 拡張機能を持っています (おそらく、この問題が発生した理由です)。Ngnix を使用しています。多分誰かが同じエラーを持っていますか?

私のサーバー上のphp-fpm.conf:

pm = dynamic
pm.max_children = 4
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 2

request_terminate_timeout = 0
request_slowlog_timeout = 0

chdir = /

php_admin_value[memory_limit] = 512M
php_admin_value[post_max_size] = 128M
php_admin_value[post_max_vars] = 64000
php_admin_value[max_execution_time] = 3600
php_admin_value[realpath_cache_size] = 16m
4

3 に答える 3

-2

サーバー権限を持っていない場合は、以下のコードを magento_root/index.php ファイルの一番上に追加してください。

    ini_set("memory_limit",'1024M');

メモリ制限に関するエラーはもう発生しません:)

乾杯!!

于 2013-10-16T10:33:55.040 に答える