Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Magento - Đã xảy ra sự cố với quy trình lập chỉ mục lại - Danh mục Sản phẩm

Đây có thể là bất kỳ thứ gì .

lỗi xảy ra khi một Ngoại lệ PHP bong bóng lên bề mặt từ reindexProcessAction hoạt động. Bạn có thể xem mã đó tại đây.

#File: app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php
public function reindexProcessAction()
{
    $process = $this->_initProcess();
    if ($process) {
        try {
            Varien_Profiler::start('__INDEX_PROCESS_REINDEX_ALL__');

            $process->reindexEverything();
            Varien_Profiler::stop('__INDEX_PROCESS_REINDEX_ALL__');
            $this->_getSession()->addSuccess(
                Mage::helper('index')->__('%s index was rebuilt.', $process->getIndexer()->getName())
            );
        } catch (Mage_Core_Exception $e) {
            $this->_getSession()->addError($e->getMessage());
        } catch (Exception $e) {
            $this->_getSession()->addException($e,
                 Mage::helper('index')->__('There was a problem with reindexing process.')
            );
        }
    } else {
        $this->_getSession()->addError(
            Mage::helper('index')->__('Cannot initialize the indexer process.')
        );
    }

    $this->_redirect('*/*/list');
}

Cụ thể, dòng này

Mage::helper('index')->__('There was a problem with reindexing process.')

Cách nhanh nhất để khắc phục lỗi này là tạm thời thay đổi dòng trên để nó in ra thông báo ngoại lệ. Magento gửi thông báo ngoại lệ mặc định - có thể là trong một nỗ lực để ngăn người dùng cuối nhìn thấy một lỗi PHP "xấu xí". Thay đổi ở trên thành nó đọc

Mage::helper('index')->__('There was a problem with reindexing process. ' . $e->getMessage())

Và sau đó lập lại chỉ mục một lần nữa. Thông báo lỗi PHP, sẽ trỏ đến mã sự cố, sẽ được bao gồm trong thông báo lỗi của bạn. Điều này sẽ giúp chỉ ra chính xác vấn đề khiến chỉ mục của bạn bị lỗi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL nhận tin nhắn cuối cùng từ / tới người dùng nhất định

  2. Làm mới nội dung của div chỉ khi nội dung mới được thêm vào cơ sở dữ liệu

  3. varchar (255) v tinyblob v tinytext

  4. CẬP NHẬT SQL với LIKE

  5. Phân cấp danh mục (PHP / MySQL)