2012-10-05 16 views
10

Provare a passare dall'host locale al nuovo server. La nuova installazione ha funzionato bene, senza problemi. Quando ho caricato i miei file mydomain.com/admin viene visualizzato con uno schermo bianco e mydomain.com produce questo errore:Errore irreversibile di Opencart: chiamata a una funzione membro get() su un oggetto non

Errore irreversibile: chiamata a una funzione membro get() su un oggetto non in/home4/pawpostc/public_html/index.php on line 103.

Così ho preso uno sguardo alla linea index.php 103:

if ($config->get('config_error_display')) { 
     echo '<b>' . $error . '</b>: ' . $errstr . ' in <b>' . $errfile . '</b> on  line <b>' . $errline . '</b>'; 
    } 

Sembra che ci sia un problema con i miei file di configurazione. Così sono andato a dare un'occhiata a loro. Li ho passati un paio di volte ma non riesco a trovare l'errore, probabilmente mi manca qualcosa, quindi ecco i file di configurazione.

config.php (nella mia cartella principale www.):

<?php 
// HTTP 
define('HTTP_SERVER', 'http://www.pawpost.com.au/'); 
define('HTTP_IMAGE', 'http://www.pawpost.com.au/image/'); 
define('HTTP_ADMIN', 'http://www.pawpost.com.au/admin/'); 

// HTTPS 
define('HTTPS_SERVER', 'http://www.pawpost.com.au/'); 
define('HTTPS_IMAGE', 'http://www.pawpost.com.au/image/'); 

// DIR 
define('DIR_APPLICATION', '/home4/pawpostc/public_html/catalog/'); 
define('DIR_SYSTEM', '/home4/pawpostc/public_html/system/'); 
define('DIR_DATABASE', '/home4/pawpostc/public_html/system/database/'); 
define('DIR_LANGUAGE', '/home4/pawpostc/public_html/catalog/language/'); 
define('DIR_TEMPLATE', '/home4/pawpostc/public_html/catalog/view/theme/'); 
define('DIR_CONFIG', '/home4/pawpostc/public_html/system/config/'); 
define('DIR_IMAGE', '/home4/pawpostc/public_html/image/'); 
define('DIR_CACHE', '/home4/pawpostc/public_html/system/cache/'); 
define('DIR_DOWNLOAD', '/home4/pawpostc/public_html/download/'); 
define('DIR_LOGS', '/home4/pawpostc/public_html/system/logs/'); 

// DB 
define('DB_DRIVER', 'mysql'); 
define('DB_HOSTNAME', 'localhost'); 
define('DB_USERNAME', 'my user name'); 
define('DB_PASSWORD', 'my password'); 
define('DB_DATABASE', 'my database'); 
define('DB_PREFIX', 'oc_'); 
?> 

admin/config.php:

<?php 
// HTTP 
define('HTTP_SERVER', 'http://www.pawpost.com.au/admin/'); 
define('HTTP_CATALOG', 'http://www.pawpost.com.au/'); 
define('HTTP_IMAGE', 'http://www.pawpost.com.au/image/'); 

// HTTPS 
define('HTTPS_SERVER', 'http://www.pawpost.com.au/admin/'); 
define('HTTPS_CATALOG', 'http://www.pawpost.com.au/'); 
define('HTTPS_IMAGE', 'http://www.pawpost.com.au/image/'); 

// DIR 
define('DIR_APPLICATION', '/home4/pawpostc/public_html/admin/'); 
define('DIR_SYSTEM', '/home4/pawpostc/public_html/system/'); 
define('DIR_DATABASE', '/home4/pawpostc/public_html/system/database/'); 
define('DIR_LANGUAGE', '/home4/pawpostc/public_html/admin/language/'); 
define('DIR_TEMPLATE', '/home4/pawpostc/public_html/admin/view/template/'); 
define('DIR_CONFIG', '/home4/pawpostc/public_html/system/config/'); 
define('DIR_IMAGE', '/home4/pawpostc/public_html/image/'); 
define('DIR_CACHE', '/home4/pawpostc/public_html/system/cache/'); 
define('DIR_DOWNLOAD', '/home4/pawpostc/public_html/download/'); 
define('DIR_LOGS', '/home4/pawpostc/public_html/system/logs/'); 
define('DIR_CATALOG', '/home4/pawpostc/public_html/catalog/'); 

// DB 
define('DB_DRIVER', 'mysql'); 
define('DB_HOSTNAME', 'localhost'); 
define('DB_USERNAME', 'my user name'); 
define('DB_PASSWORD', 'my password'); 
define('DB_DATABASE', 'my database'); 
define('DB_PREFIX', 'oc_'); 
?> 

Qualsiasi aiuto su questo sarebbe apprezzato.

+0

controllare i permessi (proprietario: groop) per il file system/library/config.php – zubovd

risposta

0

Il problema più probabile è che uno o più file della libreria sono corrotti dal caricamento. Re carica la tua cartella system/library/ da quella locale. I file di configurazione sembrano corretti e l'errore non fa riferimento a un problema di configurazione. Che cos'è la riga 103 nel file index.php?

+0

la prima casella di codice nel post è la riga 103. Darò alla libreria un tentativo di upload. – Travis

+0

Se possibile, controlla pawpost.com.au/index1.php. Ho caricato la cartella sistema/libreria, nessuna modifica. Passerò attraverso ciascuno dei file. – Travis

+0

Controlla '/ system/library/config.php' e anche il file' index.php' stesso per assicurarti che corrispondano esattamente. Il tuo errore significa che '$ config' non è l'oggetto che deve essere (una classe' Config') che è generalmente dovuta al fatto che il file della libreria è corrotto –

0

si prega di un controllo incrociato di aver impostato tutte le autorizzazioni avevo imbattuto in questo errore ed è stato risolto, che era a causa di un problema di permessi di file

3

stavo usando OpenCart e vqmod installato. All'improvviso ho uno degli stessi errori.

Questo risolto il problema: in System/Library/session.php sostituire sessione di inizio con:

session_save_path(realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/../tmp')); 
+0

Questa soluzione ha risolto il mio problema. Molte grazie! –

+0

questa è un'ottima soluzione. Grazie, hai salvato la mia giornata! – jiraya85

-3

Ho avuto questo problema quando ho migrato il mio server dal 2G al 4GH su GoDaddy. È venuto attraverso questo forum e ho scoperto che il problema è con session.php Quindi, ho indovinato che la cartella 'tmp' mancava. Quindi, ne ho creato uno solo sopra la cartella html. e gli ha dato un accesso 777. Il problema è stato risolto e il mio sito Web sembra fantastico dopo.

+0

777 NON è sicuro! – m1crdy

0

Ero alle prese con lo stesso problema dopo la migrazione del mio sito in un nuovo ambiente VPS. Ho pensato che DOVREBBE essere qualcosa a che fare con il percorso dei documenti modificato o le autorizzazioni del mio negozio e tirato fuori un sacco di capelli cercando di arrivare al nocciolo del problema.

Mi sono finalmente reso conto di avere autorizzazioni errate sul mio archivio dati di sessione PHP! Nel mio caso, la cartella in/var/lib/php/session/era di proprietà di apache (naturalmente) ma avevo cambiato apache per funzionare come un altro utente in modo che non potesse più scrivere sul session-store.

I messaggi di errore in questo caso sono criptici (per non dire altro!) E non hanno dato la minima idea che il problema potrebbe essere semplicemente la mancanza di permesso di scrittura!

Oh beh, dovremmo sapere che il 90% dei problemi di unix è ridotto a permanenti!

0

Carica un file sul mio server (directory: vqmod/.... php).

Basta modificare il permesso del file vqmod. Ho impostato 777 e questo l'ha risolto.

-1

Ho avuto lo stesso problema. Ho cambiato l'autorizzazione vqmod a 777. Non sono sicuro che questo abbia risolto il problema, ma ho controllato il mio sito Web senza aggiungere www. prima del dominio e ha funzionato. L'avviso è stato rimosso se controllo http://daytodaystore.com. Se controllo lo http://www.daytodaystore.com, l'avviso è lì.

0

Dall'errore che hai ricevuto, sembra che la variabile $config non venga impostata. La variabile $config è impostata sulla linea 35 utilizzando la classe Config che si trova nella system/library/config.php

Penso che se a capire il motivo per cui la classe non è sempre istanziato, sarete in grado di risolvere il problema. Questo potrebbe essere un paio di cose:

  • Il file system/library/config.php potrebbero non essere stati caricati sul nuovo server
  • Come accennato nelle risposte precedenti, ci potrebbe essere un problema di autorizzazioni. Verifica le autorizzazioni di system/library/config.php e assicurati che l'utente corretto sia proprietario.
  • Oppure potrebbe essere un problema completamente non correlato.
0

L'errore è dovuto alle autorizzazioni impostate nella cartella della cache. Impostandolo su 755 e i file su 555 con il set a casa e asciutto.

Problemi correlati