Autor | Zpráva | ||
---|---|---|---|
Pavel Straka Profil |
#1 · Zasláno: 15. 5. 2012, 21:46:34
Dobrý večer, rád bych požádal o radu. Přesunul jsem e-shop Zencart na jiný hosting (= přesun souborů + databáze) a nyní bych potřeboval nahradit přístupová data k databázi za nová. Nemá někdo zkušenost, v jakém souboru tyo údaje najdu, abych je mohl nahradit aktuálními? Když nyní jdu na adresu e-shopu zobrazí se jen bílá stránka, je to způsobeno tím nebo je problém někde jinde? Výpis chybových hlášek je zapnutý, proto tomu nerozumím.
Děkuji za pomoc. |
||
Majkl578 Profil |
#2 · Zasláno: 16. 5. 2012, 02:25:50
Zkus hledat v souboru include/configure.php.
|
||
Pavel Straka Profil |
#3 · Zasláno: 16. 5. 2012, 18:55:11 · Upravil/a: Pavel Straka
Ano, takovou radu jsem našel při hledání na internetu, ale mám tu jen složky:
application lang library log public tmp v index.php se vkládá soubor require_once 'application/Core.php';
a v Core pak require_once './application/plugins/DbConnectPlugin.php';
ale tam žádné přihl. údaje uvedeny nejsou. Přikládám celý zdroj: <?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Auth * @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id: Auth.php 3467 2007-02-15 22:40:55Z darby $ */ class DbConnectPlugin extends Zend_Controller_Plugin_Abstract { private $_dbSettings; private $_db; //public function __construct(array $dbSettings) public function __construct() { //$this->_dbSettings = $dbSettings; $this->_dbSettings = Core::getConfig()->database->toArray(); } /** * Establish connection to database. If connection fails we go to @link ErrorController. * * @param Zend_Controller_Request_Abstract $request * @return void */ public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { try { /* $config = new Zend_Config( array( 'database' => array( 'adapter' => 'Pdo_PgSQL', 'params' => array( 'host' => 'localhost', 'dbname' => 'controlpanel', 'username' => 'postgres', 'password' => 'heslo' ) ) ) ); $this->_db = Zend_Db::factory($config->database); */ if (intval($this->_dbSettings['uppercase']) === 1) { $options = array( //Zend_Db::CASE_FOLDING => Zend_Db::CASE_UPPER Zend_Db::CASE_FOLDING => Zend_Db::CASE_LOWER ); $this->_dbSettings['params']['options'] = $options; } $this->_db = Zend_Db::factory($this->_dbSettings['adapter'], $this->_dbSettings['params']); $this->_db->query('SET NAMES '.$this->_dbSettings['encoding']); //$this->_db->query('SET CHARACTER SET '.$this->_dbSettings['encoding']); if ($this->_dbSettings['profiler'] == true) { $this->_db->getProfiler()->setEnabled(true); } if (!empty($this->_dbSettings['prefix'])) { Zend_Registry::set('prefix', $this->_dbSettings['prefix']); //$this->setTablePrefix(trim($this->_dbSettings['prefix'], '_').'_'); } Zend_Db_Table_Abstract::setDefaultAdapter($this->_db); //Zinn_Db_Table_Abstract::setDefaultAdapter($this->_db); $serverRoot = Zend_Registry::get('serverRoot'); $frontendOptions = array('automatic_serialization' => true); //$backendOptions = array('cache_dir' => 'cacheDir'); $backendOptions = array('cache_dir' => $serverRoot . 'tmp'); $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions); // Next, set the cache to be used with all table objects Zend_Db_Table_Abstract::setDefaultMetadataCache($cache); Zend_Registry::set('db', $this->_db); //$this->setTablePrefix('ds'); //$this->removeTablePrefix('ds'); } catch(Exception $e) { $frontController = Zend_Controller_Front::getInstance(); if ($frontController->throwExceptions()) { throw $e; } $error = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS); $exception = $e; $exceptionType = get_class($e); $error->exception = $exception; $error->type = Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER; $request->setParam('message', 'Došlo k chybě při spojení s databází'); $error->request = clone $request; $errorHandler = $frontController->getPlugin('Zend_Controller_Plugin_ErrorHandler'); $request->setParam('error_handler', $error) ->setModuleName($errorHandler->getErrorHandlerModule()) ->setControllerName($errorHandler->getErrorHandlerController()) ->setActionName($errorHandler->getErrorHandlerAction()) ->setDispatched(false); } } /* Called before Zend_Controller_Front exits its dispatch loop. * * @return void */ public function dispatchLoopShutdown() { if ($this->_dbSettings['profiler'] == true) { $profiler = $this->_db->getProfiler(); $totalTime = $profiler->getTotalElapsedSecs(); $queryCount = $profiler->getTotalNumQueries(); $longestTime = 0; $longestQuery = null; $out = '<div style="width: 900px; text-align: left; background-color: #000000; color: #ffffff; border: 2px solid #ffffff; padding: 20px 20px; margin: 10px auto;">' . "\n"; $out .= '<h3 style="padding-top: -20px; color: #ffffff; margin-bottom: 20px;">Database profiler (only for development purposes)</h3>' . "\n"; $out .= 'Executed ' . $queryCount . ' queries in ' . $totalTime . ' seconds<br /><br />' . "\n"; if ($totalTime > 0 && $queryCount > 0) { foreach ($profiler->getQueryProfiles() as $query) { if ($query->getElapsedSecs() > $longestTime) { $longestTime = $query->getElapsedSecs(); $longestQuery = $query->getQuery(); } } $out .= 'Average query length: ' . ($totalTime / $queryCount) . ' seconds<br /><br />' . "\n"; $out .= 'Queries per second: ' . ($queryCount / $totalTime) . '<br /><br />' . "\n"; $out .= 'Longest query length: ' . $longestTime . ' seconds<br /><br />' . "\n"; $out .= 'Longest query: ' . $longestQuery . '<br /><br />' . "\n"; $out .= '<br /><br />' . "\n\n"; foreach ($profiler->getQueryProfiles() as $query) { $out .= $query->getQuery() . '<br /><br />' . "\n\n"; } } $out .= '</div>' . "\n"; $this->_response->appendBody($out); } if ($this->_dbSettings['logQueries'] == true) { $logger = Core::setLogger('queries'); $profiler = $this->_db->getProfiler(); if (intval($profiler->getTotalNumQueries()) > 0) { foreach ($profiler->getQueryProfiles() as $query) { $logger->log($query->getQuery(), Zend_Log::DEBUG); } } } } public function setTablePrefix($prefix = '') { $tables = $this->_db->listTables(); if (!empty($prefix)) { $prefix = trim($prefx, '_') . '_'; foreach ($tables as $table) { $this->_db->query('RENAME TABLE `' . $table . '` TO `' . $prefix . $table . '`'); } } Zend_Debug::dump('OK'); exit(); /* $query = $this->_db->query('SHOW TABLES'); $tables = $query->fetchAll(); foreach($tables as $table) { $this->_db->query('RENAME TABLE `'.$table['Tables_in_portaly'].'` TO `ds_'.$table['Tables_in_portaly'].'`'); $this->_db->query('RENAME TABLE `'.$table['Tables_in_portaly'].'` TO `'.str_replace("ds_", "", $table['Tables_in_portaly']).'`'); } Zend_Debug::dump('OK'); exit(); */ } public function removeTablePrefix($prefix = '') { $tables = $this->_db->listTables(); $pattern = ''; if (!empty($prefix)) { $prefix = trim($prefx, '_') . '_'; $pattern = '/' . $prefix . '/'; } if (!empty($pattern)) { foreach ($tables as $table) { $this->_db->query('RENAME TABLE `' . $table . '` TO `' . preg_replace($pattern, '', $table, 1) . '`'); } } Zend_Debug::dump('OK'); exit(); } } Respektive jsou tam, ale v zakomentované části. |
||
Pavel Straka Profil |
#4 · Zasláno: 17. 5. 2012, 23:49:14
Omlouvám se, nejedná se o Zencart, ale o Zend Framework. Můj problém nyní: dohledal jsem na internetu, že nastavení přístupů do DB je v souboru application/configs/application.ini, žádnou sloužku configs tady ale nemám. Jak je to možné? Děkuji za rady.
|
||
Časová prodleva: 12 let
|
0