Unabhängig vom verwendeten Betriebssystem kann mit Magento die Einrichtung und das Betreiben eines Onlineshops durchgeführt werden. Das bedeutet, in der derzeit verfügbaren Version 3.0, der sogenannten Open Software Lizenz, kann der Betreiber seinen Onlineshop vollständig einrichten und führen. Außerdem kann Magento mandantenfähig eingerichtet werden. Das heißt, man kann einem Kunden ein bestimmtes Produktsortiment anbieten und gleichzeitig einem anderen Kunden ein anderes Sortiment zeigen.
Konkret wird die PHP Version 5.3x bei der Magento Programmierung eingesetzt. Mit den Möglichkeiten die PHP anbietet, kann ein PHP-Kundiger Betreiber bzw. Magento Programmierer die Open Source Software Magento mit PHP auch entsprechend so anpassen, dass die veränderten Ansprüche und Situationen auf der Magento-Ebene verändert werden. Somit können wichtige Bestandteile und Eigenschaften in Magento eingearbeitet, um diese neuen Eigenschaften einzupflegen. Konkrete, eigentlich sehr kleine Anpassungen werden und müssen vorgenommen werden, dann kann der Magento auf Grundlage der neuen PHP-Version betrieben werden. Allerdings ist darauf zu achten das es nicht zu Fehlern kommt.

Damit es nicht zu einem sogenannten „fatalen Fehler“ kommt, muss es zu einer Veränderung und Anpassung kommen. Dabei wird die sogenannte „__tostring()“ Methode verändert, damit sie auch nach der Einführung der PHP-Version 5.3x die optionalen Parameter akzeptiert. Damit es dennoch zu einer Akzeptanz kommt, muss es zu einer Entfernung der Parameterliste kommen. Das bedeutet im Skript ganz konkret:
class Varien_Object implements ArrayAccess
{
// ...
public function __toString()
{
$args = func_get_args();
$arrAttributes = isset($args[0]) ? (array)$args[0] : array();
$valueSeparator = isset($args[1]) ? $args[1] : ',';
$arrData = $this->toArray($arrAttributes);
return implode($valueSeparator, $arrData);
}
// ...
}

Durch diese Veränderung und Anpassung wird ein sogenannter „fataler Fehler“ vermieden. Danach muss die Anpassung fortgesetzt werden, das bedeutet die sogenannten „split()“-Aufrufe werden gegen „explode()“-Aufrufe ausgetauscht. Das sind etliche Veränderungen, die im Script-Code verändert werden müssen. Last but not least muss eine Veränderung in der Datei index.php vorgenommen werden. Diese Veränderung muss am sogenannten Error-Reporting-Level durchgeführt werden. Damit wird eine sogenannte „deprecated-Notice“ unterdrückt. Im Detail bedeutet das schließlich: die Zeile „error_reporting(E_ALL | E_STRICT);“ wird angepasst und lautet dann:
„if (defined('E_DEPRECATED') {
error_reporting((E_ALL | E_STRICT) & !E_DEPRECATED);
} else {
error_reporting(E_ALL | E_STRICT);
}“

Nach dieser Anpassung wird Magento auf Ebene der Version PHP 5.3x problemlos laufen (müssen).

Ein weiteres Beispiel dafür, Magento mit PHP anpassen ist, dass viele Magento-Nutzer feststellen, dass Magento einen deutlichen Rundungsfehler im System enthält, der sich bei einem kleinen Euro-Betrag kaum auswirkt, aber bei größeren Summen und Beträgen sehr schnell etliche Euros in der Summe bedeutet. Diesen Rundungsfehler beispielsweise kann ein versierter Programmierer bzw. Shopbetreiber in Magento mit PHP anpassen. Dabei müssen einige konkrete Veränderungen und Anpassungen vorgenommen werden. Die erste Veränderung betrifft die Zeile 740 im PHP-Script. Dies betrifft den Programm-Bereich /app/code/core/Mage/Core/Model/Store.php. Der bisherige Wert, den Magento dem Nutzer anbietet, lautet in der Programmiersprache an dieser Stelle: „return round($price, 2);“. Hier muss der Nutzer die Anpassung in PHP vornehmen und den Wert in „return round($price, 4);“ ändern, das bedeutet, dass der Rundungswert am Preis von 2 auf 4 Stellen gesetzt werden muss. Damit wird dieser konkreter und genauer.
Des Weiteren müssen in Folge weitere Anpassungen in PHP in der Zeile 161 hin zu Zeile 86 vorgenommen werden. Auch dieser Programmwert muss angepasst werden. Des Weiteren muss der $ Wert von zwei auf vier gesetzt werden, das bedeutet konkret: von $value, 2, null, ‘’ zu $value, 4, null, ‘’. Eine letzte Veränderung muss schließlich in der Zeile 285 vorgenommen werden: In den beiden Zeilen „return number_format“ muss der $ Wert jeweils wiederum von zwei auf vier gesetzt werden. Auch hier bedeutet das: von $value, 2, null, ‘’ zu $value, 4, null, ‘’. Diese Anpassung muss zwei Mal durchgeführt werden.