PHP 5.3 Update - Testinstallation

Hallo zusammen,

ich versuche gerade, den Shop CE 4.6.2 auf ein Update von PHP 5.2 auf PHP 5.3 vorzubereiten. Hierzu habe einen Testserver, der bereits unter PHP 5.3.3 läuft.

Folgendes habe ich gemacht:
Shop komplett vom Liveserver kopiert, mit MySQLDumper eine Sicherung erstellt, alles auf den DEV-Server mit der neuen PHP Version zurückkopiert.

Erwartungsgemäß hat das zu Fehlern wegen ZEND geführt. Bei zusätzlichen Modulen habe ich die akutellen 5.3 Versionen installiert und so Fehler für Fehler eliminiert.

Jetzt bekomme ich eine Execption, weil die oxv_ Tabellen fehlen. Ist ja klar, die sind natürlich nicht im DB Dump gewesen. Da ich aber keinen Admin Zugang bekomme, kann ich auch kein Create Views ausführen.

Die Exception lautet:

exception 'ADODB_Exception' with message 'mysql error: [1146: Table 'usr_web28_2.oxv_oxshops_de' doesn't exist] in EXECUTE("select oxv_oxshops_de.oxid, oxv_oxshops_de.oxactive, oxv_oxshops_de.oxproductive, oxv_oxshops_de.oxdefcurrency, oxv_oxshops_de.oxdeflanguage, oxv_oxshops_de.oxname, oxv_oxshops_de.oxtitleprefix, oxv_oxshops_de.oxtitlesuffix, oxv_oxshops_de.oxstarttitle, oxv_oxshops_de.oxinfoemail, oxv_oxshops_de.oxorderemail, oxv_oxshops_de.oxowneremail, oxv_oxshops_de.oxordersubject, oxv_oxshops_de.oxregistersubject, oxv_oxshops_de.oxforgotpwdsubject, oxv_oxshops_de.oxsendednowsubject, oxv_oxshops_de.oxsmtp, oxv_oxshops_de.oxsmtpuser, oxv_oxshops_de.oxsmtppwd, oxv_oxshops_de.oxcompany, oxv_oxshops_de.oxstreet, oxv_oxshops_de.oxzip, oxv_oxshops_de.oxcity, oxv_oxshops_de.oxcountry, oxv_oxshops_de.oxbankname, oxv_oxshops_de.oxbanknumber, oxv_oxshops_de.oxbankcode, oxv_oxshops_de.oxvatnumber, oxv_oxshops_de.oxbiccode, oxv_oxshops_de.oxibannumber, oxv_oxshops_de.oxfname, oxv_oxshops_de.oxlname, oxv_oxshops_de.oxtelefon, oxv_oxshops_de.oxtelefax, oxv_oxshops_de.oxurl, oxv_oxshops_de.oxdefcat, oxv_oxshops_de.oxhrbnr, oxv_oxshops_de.oxcourt, oxv_oxshops_de.oxadbutlerid, oxv_oxshops_de.oxaffilinetid, oxv_oxshops_de.oxsuperclicksid, oxv_oxshops_de.oxaffiliweltid, oxv_oxshops_de.oxaffili24id, oxv_oxshops_de.oxedition, oxv_oxshops_de.oxversion, oxv_oxshops_de.oxseoactive from oxv_oxshops_de where 1 and oxv_oxshops_de.oxid = 'oxbaseshop'") ' in /var/www/web28/html/dv53/core/adodblite/adodb-exceptions.inc.php:84 Stack trace: #0 /var/www/web28/html/dv53/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc(369): adodb_throw('mysql', 'EXECUTE', 1146, 'Table 'usr_web2...', 'select oxv_oxsh...', false, Object(object_ADOConnection)) #1 /var/www/web28/html/dv53/core/adodblite/adodb.inc.php(316): mysql_driver_ADOConnection->do_query('select oxv_oxsh...', -1, -1, false) #2 /var/www/web28/html/dv53/core/oxlegacydb.php(147): ADOConnection->Execute('select oxv_oxsh...', false) #3 /var/www/web28/html/dv53/core/oxbase.php(680): oxLegacyDb->select('select oxv_oxsh...') #4 /var/www/web28/html/dv53/core/oxbase.php(629): oxBase->assignRecord('select oxv_oxsh...') #5 /var/www/web28/html/dv53/core/oxconfig.php(1943): oxBase->load('oxbaseshop') #6 /var/www/web28/html/dv53/core/oxconfig.php(1712): oxConfig->getActiveShop() #7 /var/www/web28/html/dv53/core/d3utils.php(316): oxConfig->getVersion() #8 /var/www/web28/html/dv53/core/d3utils.php(259): d3utils::isMinShopVersion('4.3.0') #9 /var/www/web28/html/dv53/modules/d3/autoload/views/d3_oxshopcontrol_autoload.php(30): d3utils->hasD3AutoLoad() #10 /var/www/web28/html/dv53/modules/d3log/views/d3_oxshopcontrol_errorhandler.php(14): d3_oxshopcontrol_autoload->start() #11 /var/www/web28/html/dv53/index.php(103): d3_oxshopcontrol_errorhandler->start() #12 /var/www/web28/html/dv53/admin/index.php(40): require_once('/var/www/web28/...') #13 {main} 

Hat jemand eine Idee, wie ich die Views erzeugt bekomme ohne Adminzugang?

Die Suche über das Forum mit “views” und “erzeugen” (und wilden anderen Kombinationen) war leider wenig hilfreich, da jeder Eintrag im Forum den Begriff “views” enthält und natürlich von der Suchfunktion hier gefunden wird… :wink:

Besten Dank für eure Hilfe im voraus!

Hi,

ohne backend geht das so:

views/oxshopcontrol.php fnc start hinter getConfig die Zeile
oxDb::getInstance()->updateViews();

Hallo Bernd,

vielen Dank für die schnelle Hilfe. Das hat aber leider nicht funktioniert. Ich habe wie vorgeschlagen die Zeile

oxDb::getInstance()->updateViews();

an der Stelle

    public function start()
    {
        $myConfig = $this->getConfig();
		oxDb::getInstance()->updateViews();

        //perform tasks once per session

[...]

eingefügt, TMP gelöscht und den Shop normal aufgerufen (die fnc start() wird ja am Schluss der index.php ausgeführt, habe ich gesehen).

Leider bleibt die Fehlermeldung dieselbe. Der Provider hat mir versichert, dass das create view Recht für den betreffenden User gesetzt ist.

Oder mache ich beim Aufruf der Function etwas falsch?

Und mal ganz anders gefragt: Gibt es einen besseren Weg als meinen, von PHP 5.2 auf 5.3 upzudaten? Vielleicht sogar ein How-To zum Nachlesen irgendwo?

Nochmal in Kurz, was ich gemacht habe:
[ul]
[li]Live Shop (PHP 5.2) auf DEV Server (PHP 5.3.x) kopiert
[/li][li]Datenbank von Liveserver mit MySQLDumper auf DEV zurückgesichert
[/li][li]D3 Programme, Paypal und Sofortueberweisung in der richtigen PHP Version drüberkopiert, so dass die ZEND Fehlermeldungen weg sind.
[/li][/ul]

An der Stelle stehe ich jetzt und komme über die oxv_ Fehlermeldung nicht weg.
Herzlichen Dank für weitere Tipps.

Die Views brauchst du nicht um in das Backend zu kommen. Sitze gerade auch an dem Update von PHP 5.2 auf 5.3. Lösche alle Views die du aus der alten DB hast und versuch dann ins Backend zu kommen. Bei uns hat es funktioniert.

wie wärs frische Installation und Daten übernehmen?