PDA

Zobacz pełną wersję : "call to a member function getcfg..." po przeniesieniu strony na inny serwer



sisiek2
02-02-2013, 10:20
Przeniosłem stronkę z serwera cba.pl na ovh.pl
Niestety pojawił się błąd:

Fatal error: call to a member function getcfg() on a non-object in/homez.666/venuswyr/www/templates/siteground-j16-11/index.php on line 1

Po rozmowach z działem pomocy w ovh dowiedziałem się, że problem tkwi w szablonie. Faktycznie po zmianie szablonu strona się pojawiła.

Moje pytanie brzmi: Czy ktoś potrafi mi podpowiedzieć co mam zmienić w tym szablonie żeby działał?

Sprawdziłem plik .htaccess

SetEnv PHP_VER 5_3
SetEnv REGISTER_GLOBALS 0

www.venus-wyrzysk.cba.pl działa prawidłowo
po przeniesieniu na ovh i zakupie domeny www.venus-wyrzysk.pl mam powyższy kłopot.

Dziudek
02-02-2013, 10:25
Witam,

Sugeruję wrzucić tutaj fragment kod pliku (pierwsze linijki), który rzuca błędem - bez tego nie bardzo będzie można pomóc, poza tym, że prawdopodobnie jakiś obiekt jest niezdefiniowany.

sisiek2
02-02-2013, 12:37
Jeśli dobrze rozumuję to chodzi o kod tego pliku: www/templates/siteground-j16-11/index.php

<?php/** * @version $Id: index.php $ * @package Joomla.Site * @copyright Copyright (C) 2009 - 2011 SiteGround.com - All Rights Reserved. * @license GNU General Public License version 3 or later; see LICENSE.txt * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */// No direct access.defined('_JEXEC') or die;JHTML::_('behavior.framework', true);/* The following line gets the application object for things like displaying the site name */$app = JFactory::getApplication();$tplparams = $app->getTemplate(true)->params;?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>"><head> <jdoc:include type="head" /> <!-- The following line loads the template CSS file located in the template folder. --> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" /> <!-- The following line loads the template JavaScript file located in the template folder. It's blank by default. --> <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/CreateHTML5Elements.js"></script> <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery-1.4.4.min.js"></script> <script type="text/javascript">jQuery.noConflict();</script> <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/sgmenu.js"></script></head><body class="page_bg"> <header> <table cellpadding="0" cellspacing="0"> <tr><td> <h1><a href="<?php echo $this->baseurl ?>"><?php echo $app->getCfg('sitename'); ?></a></h1> </td></tr> </table> <div class="top-menu"> <div id="sgmenu"> <jdoc:include type="modules" name="menuload" /> </div> </div> <div id="search"> <jdoc:include type="modules" name="position-0" /> </div> </header> <section id="content"> <div id="topcurve">&nbsp;</div> <?php if ($this->countModules( 'position-7 and position-4' )) : ?> <div class="maincol"> <?php elseif( $this->countModules( 'position-7' ) ) : ?> <div class="maincol_w_left"> <?php elseif( $this->countModules( 'position-4' ) ) : ?> <div class="maincol_w_right"> <?php else: ?> <div class="maincol_full"> <?php endif; ?> <?php if( $this->countModules('position-7') ) : ?> <div class="leftcol"> <jdoc:include type="modules" name="position-7" style="rounded"/> </div> <?php endif; ?> <div class="cont"> <?php if ($this->getBuffer('message')) : ?> <div class="error"> <jdoc:include type="message" /> </div> <?php endif; ?> <jdoc:include type="component" /> </div> <?php if( $this->countModules('position-4') ) : ?> <div class="rightcol"> <jdoc:include type="modules" name="position-4" style="rounded"/> </div> <?php endif; ?> <div class="clr"></div> </div> </section> <footer> <p style="text-align:center;"><?php $sg = ''; include "templates.php"; ?></p> </footer></body></html>



Wrzuciłem cały kod pliku index.php z szablonu

Dziudek
02-02-2013, 12:47
Zawartość tego pliku jest zawarta w jednej linijce w index.php? Bo jeżeli tak to pierwsze co to sugeruję rozbić to na normalne linijki z tego jednolinijkowego ciagu. Prawdopodobnie wtedy komentarz wyklucza linijkę:


$app = JFactory::getApplication();

co powoduje błąd we fragmencie:


<?php echo $app->getCfg('sitename'); ?>

sisiek2
02-02-2013, 14:04
Otworzyłem plik w notepad++ i wszystko było w jednym ciągu.

Możesz mi to łopatologicznie przekazać?

Dziudek
02-02-2013, 14:14
Łopatologicznie to najprościej będzie pobrać ten plik z serwera jeszcze raz i zobaczyć czy wszystko znowu jest jednym ciągiem - jezeli tak to najprawdopodobniej wina transferu FTP.

sisiek2
02-02-2013, 14:32
jest jednym ciągiem

czyli jeszcze raz całą stronę ponownie transferować?

Poprzednio przez FileZillę ściągnąłem stronę na komputer, a potem przesłałem te pliki na nowy serwer.
Mam na starej stronie zrobione kopie Akeebą, ale nie wiem jak się pracuje na Kickstart dlatego ręcznie całą stronę kopiowałem.

Dziudek
02-02-2013, 14:58
W takim razie sugeruję jeszcze raz przetransferować stronę, ewentualnie zapoznać się z obsługą Kickstarta Akeeby.

sisiek2
02-02-2013, 15:31
Jutro poćwiczę, dzięki za odpowiedzi.