Godaddy Общая ошибка: 2006 сервер MySQL ушел

Я пытаюсь выполнить сохранение базы данных, используя propel orm. Эта функция отлично работает на моем сервере xaamp на локальной машине, но когда я загружаю свое приложение на общий сервер godaddy, возникает эта ошибка. Как вы знаете, общий хостинг godaddy не позволяет мне изменять ниже переменные сервера mysql, запрашивающие root-доступ, который недоступен на виртуальном хостинге:

+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
|connect_timeout                  60 |
|delayed_insert_timeout          300 |
|innodb_flush_log_at_timeout       1 |
|innodb_lock_wait_timeout         50 |
|innodb_rollback_on_timeout      OFF |
|interactive_timeout              60 |
|lock_wait_timeout          31536000 |
|net_read_timeout                 30 |
|net_write_timeout                60 |
|rpl_stop_slave_timeout     31536000 |
|slave_net_timeout              3600 |
|wait_timeout                     60 | 
+----------------------------+-------+

И вот моя функция базы данных:

 private function link_to_database($files, $category, $prices){
    //['filename':'name','url':'url_goes_here',...]
    $files = json_decode(json_encode($files), true);
    $con = Propel::getConnection(ProductTableMap::DATABASE_NAME);
    $con->beginTransaction();

    foreach ($files as $file) {

        $img_desc = "Some description here";
        $img_code = $this->generate_serial_of('product', 'product_code');
        try {
            $product = new \Product();
            $product->setProductCode($img_code)
                ->setDescription($img_desc)
                ->setDateUpdated(new \DateTime())
                ->setSubCategoryId($category)
                ->save($con);
            //ProductSrc TABLE----------------------
            $product_src = new \ProductSrc();
            $product_src->setProduct($product)
                ->setDisplayImgPath($file['FREEUrl'])
                ->setThumbImgPath($file['thumbnailUrl'])
                ->setDateUpdated(new \DateTime())
                ->save($con);

            foreach ($prices as $price) {

                if (preg_grep("/" . $price['SName'] . "/", array_keys((array)$file))) {
                    $result = array_flip(preg_grep("/" . $price['SName'] . "/", array_keys((array)$file)));
                    $pr_price = new \PrPrice();
                    $pr_price->setProductSrc($product_src)
                        ->setProductSizeId($price['SId'])
                        ->setOriginalImgPath($file[key($result)])
                        ->setOriginalPrice($price['SPrice'])
                        ->setSalePrice(0)
                        ->setDateUpdated(new \DateTime())
                        ->save($con);
                }
            }

            $success = $con->commit();
            if ($success) {
                Propel::closeConnections();
            }
        } catch (PropelException $e) {
            $con->rollback();
            Propel::closeConnections();
            throw $e;
        }
    }
}

Так что я застрял здесь с этой проблемой, и любое предложение, даже оптимизировать мой код, было бы заметно. Спасибо.

0 ответов

Другие вопросы по тегам