Többen érdeklődtek már nálam, hogy VirtueMart 2 alatt a képek kezelésével valami nem okés, migrációnál, máshol is vmError: Couldnt resolve mime *elérési út * üzenetet kapnak. Olvasgattam, turkáltam és a következőre jutottam.
A VM a administrator/components/com_virtuemart/tables/medias.php elérési úton tárolja azt az osztályt, ahol a probléma leledzik, ez pedig a mime_content_type nevű PHP függvény, amely már elavult, ezért okozhat némi problémát, természetesen szerverbeállítástól függően.
A megoldás az érintett függvényhívás cseréje egy kompatibilis, használható megoldással.
Keressük meg a fájlban a következő sort
$this->file_mimetype = mime_content_type(JPATH_ROOT.DS.$rel_path);
kommentejük ki úgy, hogy két perjelet pakolunk az elejére és írjuk be utána a következőt
$finfo = finfo_open(FILEINFO_MIME);
$this->file_mimetype = finfo_file($finfo, JPATH_ROOT.DS.$rel_path);
Picivel lejjebb hasonlóan
$this->file_mimetype = mime_content_type($rel_path);
helyett
$finfo = finfo_open(FILEINFO_MIME);
$this->file_mimetype = finfo_file($finfo, $rel_path);
Ezzel a problémát kiküszöböltük, reméljük egy függvényellenőrzést legalább beraknak majd a fejlesztők az alap kódban is.
Sajnos mivel ez egyedi kód, frissítéssel elvész, valószínűleg akkor újra meg kell adni majd.
Utolsó kommentek