Offen Variationskombis werden nicht mehr hochgeladen und andere Dinge

unblack

Sehr aktives Mitglied
23. November 2007
531
81
Ich bin mir sicher, dass er schon mal Var-Kombis hochgeladen hat, aber jetzt lädt er weder Vater noch Kindartikel hoch.

Weiterhin fällt mir auf, dass wenn ich im Connector "Daten aus dem Webshop importieren" anhake (aber nicht Artikel/Kategorien), er jedes Mal sämtliche Artikelbilder mit runterlädt. Das soll doch nicht so sein, oder?

Fehler-Meldung in der Wawi:
Code:
Exception: DeserializeObject-Error: Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: o. Path '', line 0, position 0.
   bei Newtonsoft.Json.JsonTextReader.ParseValue()
   bei Newtonsoft.Json.JsonTextReader.ReadInternal()
   bei Newtonsoft.Json.JsonTextReader.Read()
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
   bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   bei jtlCore.ControllerClasses.Connector.Core.Json.DeserializeObject[T](String json)

Json:object(jtl\Connector\Core\Rpc\Error)#205 (3) {
  ["code"]=>
  int(31337)
  ["message"]=>
  string(3782) "#0 /var/www/web9/html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/web9/html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/web9/html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /var/www/web9/html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ea...', Array)
#4 /var/www/web9/html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ea...', Array)
#5 /var/www/web9/html/lib/Zend/Db/Adapter/Abstract.php(576): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ea...', Array)
#6 /var/www/web9/html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(453): Zend_Db_Adapter_Abstract->insert('eav_attribute_s...', Array)
#7 /var/www/web9/html/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Core_Model_Resource_Db_Abstract->save(Object(Mage_Eav_Model_Entity_Attribute_Set))
#8 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(520): Mage_Core_Model_Abstract->save()
#9 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(113): jtl\Connector\Magento\Mapper\Product->getAttributeSetForProduct(Object(jtl\Connector\Model\Product))
#10 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(696): jtl\Connector\Magento\Mapper\Product->insert(Object(jtl\Connector\Model\Product))
#11 /var/www/web9/html/app/code/community/Jtl/Connector/src/Controller/Product.php(89): jtl\Connector\Magento\Mapper\Product->push(Object(jtl\Connector\Model\Product))
#12 /var/www/web9/html/app/code/community/Jtl/Connector/src/Connector.php(114): jtl\Connector\Magento\Controller\Product->push(Object(jtl\Connector\Model\Product))
#13 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(199): jtl\Connector\Magento\Connector->handle(Object(jtl\Connector\Core\Rpc\RequestPacket))
#14 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(292): jtl\Connector\Application\Application->execute(Object(jtl\Connector\Core\Rpc\RequestPacket), Object(jtl\Connector\Core\Config\Config), 1, NULL)
#15 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(140): jtl\Connector\Application\Application->runSingle(Object(jtl\Connector\Core\Rpc\RequestPacket), Object(jtl\Connector\Core\Config\Config), 1)
#16 /var/www/web9/html/app/code/community/Jtl/Connector/src/bootstrap.php(66): jtl\Connector\Application\Application->run()
#17 /var/www/web9/html/app/code/community/Jtl/Connector/controllers/IndexController.php(13): include('/var/www/web9/h...')
#18 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Jtl_Connector_IndexController->indexAction()
#19 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#20 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21 /var/www/web9/html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#22 /var/www/web9/html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#23 /var/www/web9/html/index.php(87): Mage::run('', 'store')
#24 {main}
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '4-Variationskombination "Farbe,Größe"' for key 'UNQ_EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME', query was: INSERT INTO `eav_attribute_set` (`entity_type_id`, `attribute_set_name`) VALUES (?, ?)"
  ["data"]=>
  NULL
}
Artikel-Senden-Fehler: object(jtl\Connector\Core\Rpc\Error)#205 (3) {
  ["code"]=>
  int(31337)
  ["message"]=>
  string(3782) "#0 /var/www/web9/html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/web9/html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/web9/html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /var/www/web9/html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ea...', Array)
#4 /var/www/web9/html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ea...', Array)
#5 /var/www/web9/html/lib/Zend/Db/Adapter/Abstract.php(576): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ea...', Array)
#6 /var/www/web9/html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(453): Zend_Db_Adapter_Abstract->insert('eav_attribute_s...', Array)
#7 /var/www/web9/html/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Core_Model_Resource_Db_Abstract->save(Object(Mage_Eav_Model_Entity_Attribute_Set))
#8 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(520): Mage_Core_Model_Abstract->save()
#9 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(113): jtl\Connector\Magento\Mapper\Product->getAttributeSetForProduct(Object(jtl\Connector\Model\Product))
#10 /var/www/web9/html/app/code/community/Jtl/Connector/src/Mapper/Product.php(696): jtl\Connector\Magento\Mapper\Product->insert(Object(jtl\Connector\Model\Product))
#11 /var/www/web9/html/app/code/community/Jtl/Connector/src/Controller/Product.php(89): jtl\Connector\Magento\Mapper\Product->push(Object(jtl\Connector\Model\Product))
#12 /var/www/web9/html/app/code/community/Jtl/Connector/src/Connector.php(114): jtl\Connector\Magento\Controller\Product->push(Object(jtl\Connector\Model\Product))
#13 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(199): jtl\Connector\Magento\Connector->handle(Object(jtl\Connector\Core\Rpc\RequestPacket))
#14 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(292): jtl\Connector\Application\Application->execute(Object(jtl\Connector\Core\Rpc\RequestPacket), Object(jtl\Connector\Core\Config\Config), 1, NULL)
#15 /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php(140): jtl\Connector\Application\Application->runSingle(Object(jtl\Connector\Core\Rpc\RequestPacket), Object(jtl\Connector\Core\Config\Config), 1)
#16 /var/www/web9/html/app/code/community/Jtl/Connector/src/bootstrap.php(66): jtl\Connector\Application\Application->run()
#17 /var/www/web9/html/app/code/community/Jtl/Connector/controllers/IndexController.php(13): include('/var/www/web9/h...')
#18 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Jtl_Connector_IndexController->indexAction()
#19 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#20 /var/www/web9/html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21 /var/www/web9/html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#22 /var/www/web9/html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#23 /var/www/web9/html/index.php(87): Mage::run('', 'store')
#24 {main}
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '4-Variationskombination "Farbe,Größe"' for key 'UNQ_EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME', query was: INSERT INTO `eav_attribute_set` (`entity_type_id`, `attribute_set_name`) VALUES (?, ?)"
  ["data"]=>
  NULL
}
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.d8PlYigNRA(String , Object , Boolean , NetworkCredential )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.SjRlO0FBUZ(String , List`1 model)
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.Push(String modelName, IEnumerable`1 model)
   bei jtlCore.ControllerClasses.Connector.Abgleich.Funktionen.ConnectorPusher.Push[TEntity](IEnumerable`1 models, Boolean checkForOrderPull)
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.Push.ConnectorPushTaskProduct.<>c__DisplayClass3.<Run>b__2(List`1 models)
   bei jtlTools.Linq.EnumerableExtensions.ExecuteInSetsOf[TInput](IEnumerable`1 source, Action`1 action, Int32 max)
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.Push.ConnectorPushTaskProduct.Run()
   bei JTL.Connector.Business.SyncRunner.Run()

zudem auf dem Server

Code:
2015-07-10T11:45:00+00:00 ERR (3): Warning: realpath(): open_basedir restriction in effect. File(/var/www) is not within the allowed path(s): (/var/www/web9:/usr/share/php)  in /var/www/web9/html/app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.

da geht er also ein paar Verzeichnisse zu hoch...

Wawi: .9964
 

cspoo

Aktives Mitglied
15. April 2013
145
0
AW: Variationskombis werden nicht mehr hochgeladen und andere Dinge

Könnten Sie open_basedir auf diesem VirtualHost einmal deaktivieren? Unter vielen Konfigurationen beißt sich open_basedir mit einem Temp-Pfad, der außerhalb der zulässigen Verzeichnisse liegt. Wir werden die Deaktivierung von open_basedir zeitnah in die Systemvoraussetzungen aufnehmen.
 

unblack

Sehr aktives Mitglied
23. November 2007
531
81
AW: Variationskombis werden nicht mehr hochgeladen und andere Dinge

Äh, nein. Kann ich nicht und will ich nicht.

Sorry, aber das ist doch jetzt nicht Euer Ernst, dass Ihr wegen eines simplen Config-Problems Zugriff auf var/www haben wollt? Dafür hebele ich nicht existenzielle Sicherheitsfunktionen aus. Das ist ein absolutes no-go.
 

cspoo

Aktives Mitglied
15. April 2013
145
0
AW: Variationskombis werden nicht mehr hochgeladen und andere Dinge

open_basedir bringt bei korrekt gesetzten Permission-Bits und einer Konfiguration, die den PHP-Interpreter unter einem separaten Benutzer laufen lässt (ob per FastCGI/FPM oder Apaches mod_itk/mod_peruser) genau gar nichts - übrigens genauso, wie der Safemode. Man wiegt sich hier in falscher Sicherheit.

Stattdessen verursacht diese Funktion Probleme beim Einsatz der Funktion realpath(), weil realpath() ausgehendend vom Root-Verzeichnis ('/') alle Verzeichnisse bis zu der Ebene seines Argumentes auflösen muss, um zu prüfen, ob es sich um Symlinks handelt und diesen ggf. zu folgen. realpath() gibt in diesen Fällen false zurück und wirft eine Warnung.
 

unblack

Sehr aktives Mitglied
23. November 2007
531
81
AW: Variationskombis werden nicht mehr hochgeladen und andere Dinge

Ob und inwiefern open_basedir und safemode (den es eh nicht mehr gibt) einen Sicherheitsgewinn bringen lassen wir am besten mal dahingestellt. Das sollte jeder Serveradmin allein entscheiden können.

Fakt ist, dass realpath sehr wohl in der Regel mit open_basedir funktioniert, wenn man sich an die Restriktionen hält. Hier sind einfach kleine Fehler im Code vom Connector vorhanden:

(ab) Zeile 473 in app/code/community/Jtl/Connector/vendor/jtl/connector/src/jtl/Connector/Application/Application.php

Code:
$root = dirname($_SERVER['SCRIPT_FILENAME']);

if (!isset($values['platform_root'])) { //Shop directory
	$exts['platform_root'] = realpath($root . '/../../');

$_SERVER[‚SCRIPT_FILENAME‘] ist bei Magento (mit mod_rewrite und der Standard .htaccess) index.php, in unserem Beispiel /var/www/web9/html/index.php. Ihr versucht dann den realpath für zwei Verzeichnisse weiter oberhalb zu bestimmen (/var/www).
Ohne den Code weiter zu analysieren scheint das zum einen nicht korrekt und zum anderen in keiner Weise nötig zu sein.
 

Ähnliche Themen