ERR_CONNECTION_RESET při zápisu do databáze u doctrine

Zuben45
Člen | 268
+
0
-

Zdravím,
trápím se nyní pro mě s nepochopitelnou chybou. Když zapíši do db novou položku, tak se v pořádku zapíše, ale poté dostanu ERR_CONNECTION_RESET

Zkoušel jsem nastavil vše dle – https://forum.nette.org/…ows-riesenie ovšem marně.

successCallback:

public function add(SubmitButton $form)
{
    $values = $form->form->getValues();
    $id = $this->rubricRepository->create($values);

    $image = $values->image;

    $file = WWW_DIR . '/images/rubrics/' . $id . '.png';
    if (file_exists($file)) {
        unlink($file);
    }

    $image->move($file);
    $img = Image::fromFile($file);
    $img->resize(120, NULL, Image::SHRINK_ONLY);
    $img->sharpen();
    $img->save($file);
    //$this->redirect(':Admin:Homepage:default');
}

stejný problém i když neupravuji obrázek.

Repository metoda create:

public function create($values)
{
    $this->em->getConnection()->getConfiguration()->setSQLLogger(NULL);

    $item = new Rubric();
    $item->name = iconv('UTF-8', 'windows-1250', $values->name);
    $item->text = iconv('UTF-8', 'windows-1250', $values->text);
    $item->preText = iconv('UTF-8', 'windows-1250', $values->preText);
    $item->private = (int) $values->private;
    $item->url = $values->url;
    $item->datePublished = $values->datePublished;
    $item->date = (new Nette\Utils\DateTime());
    if ($values->datePublished == '') {
        $values->datePublished = new Nette\Utils\DateTime();
    }
    $item->datePublished = $values->datePublished;
    $item->keywords = iconv('UTF-8', 'windows-1250', $values->keywords);
    $item->description = iconv('UTF-8', 'windows-1250',$values->description);
    $item->author = $this->userRepository->findOneBy(['id' => $values->author_id]);
    $item->type = $this->typeRepository->findOneBy(['id' => $values->type_id]);

    //$this->em->detach($item);
    $this->em->persist($item);
    $this->em->flush($item);
    $id = $item->id;
    $this->em->clear();

    $item = NULL;
    return $id;
    // $this->em->refresh($item);
}

budu rád za každé nakopnutí.

Děkuji

Editoval Zuben45 (2. 6. 2017 16:35)

CZechBoY
Člen | 3608
+
+1
-

Udelej si minimalni kod k vyvolani chyby a ten sem potom posli pokid se ti to nepodari vyresit.

Zuben45
Člen | 268
+
0
-

CZechBoY napsal(a):

Udelej si minimalni kod k vyvolani chyby a ten sem potom posli pokid se ti to nepodari vyresit.

díky moc, zjistil jsem, že problém nastane, když chci zapisovat do column typu blob.

Zatím jsem to opravil tímto ošemetným způsobem:

$handle = ibase_blob_create();
$text = ibase_blob_add($handle, iconv('UTF-8', 'windows-1250', $values->text));
$item->text = $text;
ibase_blob_close($handle);

K Doctrine jsem si vytvořil vlastní driver pro podporu firebird, jelikož ho ve firmě používáme na hlavní projekt, proto bych se chtěl zeptat jestli by mi někdo neporadil / nenakopnul kam zrovna tuhle část bych mohl zaimplementovat ?

Děkuji

EDIT: Tak vyřešeno, vytvořil jsem vlastní (Custom type) a již funguje parádně :).

Editoval Zuben45 (5. 6. 2017 9:54)

Zuben45
Člen | 268
+
0
-

Zjistil jsem, že tenhle způsob mi vloží akorát prázdnou hodnotu do db.

EDIT: Tak jsem zjistil, že problém s CONNECTION_RESET se děje pouze u WIN, na linuxu kde je produkce to běží bez problému. Je možné že by byl problém v knihovně ?

Tak vyřešeno novou verzí php ;) (xampp s php 7.1)

Editoval Zuben45 (6. 6. 2017 12:04)