← PHP

Problema com site copiado para localhost

Lida 6480 vezes

Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

Boas noites,

Tenho andado de volta de um trabalho que me foi confiado por uma entidade (que não vale a pena referir), que consiste, de forma muito básica, em corrigir erros no site actual.

Esse site foi feito por uma empresa já extinta, e como de costume, não existe documentação nenhuma sobre o dito.

Daquilo que andei a averiguar o site tem componentes Joomla e código feito pela referida empresa.
Neste momento o meu maior problema é não conseguir fazer login no backend.

Processa-se da seguinte forma:
MAMP a correr: Check
Ir à página de admin: localhost:8888/site/admin
Inserir dados de login: Check
Clicar 'Entrar': Check

Depois aparece uma página toda em branco no endereço: localhost:8888/site/admin/index.php e não passa daqui.

No ambiente live a página redirecciona para um index2.php


Não sei para onde me virar e não percebo o porquê de isto acontecer
Offline

Diogo Pinto 
Administrador
Mensagens 4400 Gostos 371
Feedback +4

Troféus totais: 37
Trófeus: (Ver todos)
Avatar Search Level 6 Linux User Mobile User Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes

O site no alojamento corre bem? A minha sugestão é que faças uma fresh instalation do joomla e faças import de tudo o que é base de dados, templates e plugins. Ou então, tentas arranjar isso através do alojamento onde ele estava.

Não sou de todo especialista em Joomla, mas os erros não podem derivar da versão do PHP?

Abraço
Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

Se fosse apenas Joomla não havia problema, a questão é que isto apenas "puxa" meia duzia de funções do Joomla e o resto foi tudo martelado para funcionar como queriam.

Resultado: Não é Joomla nem outra porra qualquer, é uma coisa que anda aqui.

Testar no ambiente nativo, é no que já pensei, mas provavelmente vou ter que fazer isso durante a madrugada, nem sei. Tenho medo de estragar o que lá está..
Offline

Ricardo75 
Membro
Mensagens 1660 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

Não consegues duplicar a bd e ficheiros no servidor original??

Joomla não deve ser, porque o endereço da administração não é esse, deve ser isso que dizes, uma coisa qualquer baseada em joomla ou uma coisa qualquer a utilizar componentes do joomla :D

De qualquer forma, se fosse joomla a primeira coisa que faria era verificar os caminhos e url no configuration.php (e já agora as outras configurações), caso esteja errado acontece precisamente isso que relatas (entre outras coisas).
Offline

Celso Azevedo 
Membro
Mensagens 3500 Gostos 38
Feedback +12

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Tenho medo de estragar o que lá está..

Faz um backup da conta de alojamento :)
Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

Estou a pensar em ver se há possibilidade de criar um subdominio, copiar para lá o site e trabalhar a partir daí...

É uma hipótese viável right?

Aproveito para me dizerem se será que o configuration.ini está correcto:
Código: [Seleccione]
$config_lang = 'pt_PT';
$config_absolute_path = 'http://localhost:8888/94fm/Site94/';
$config_live_site = 'http://www.radio94fm.pt';
$config_sitetitle = 'Rбdio 94 FM';
$config_sitename = 'Rбdio 94 FM';
$config_lifetime = '900'; // Session time

Este é o caminho para a pasta do site: "/Applications/MAMP/htdocs/94fm/Site94"

(Ficam a saber para onde estou a trabalhar... oh well)
Offline

Ricardo75 
Membro
Mensagens 1660 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1

$config_absolute_path = '/Applications/MAMP/htdocs/94fm/Site94';
$config_live_site = 'http://localhost:8888/94fm/Site94/';

será mais isto, supondo que os dados estão correctos. A porta é mesmo a 8888?
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Os logs de erros são sempre nossos amigos nestas situações e evitam perdas de tempo absolutamente desnecessárias.

Se o que o Ricardo75 colocou não resolver, vê o que dizem os logs de erros do apache e do PHP.

Boa sorte.
Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

$config_absolute_path = '/Applications/MAMP/htdocs/94fm/Site94';
$config_live_site = 'http://localhost:8888/94fm/Site94/';

será mais isto, supondo que os dados estão correctos. A porta é mesmo a 8888?

Sim a porta é mesmo essa lol
Mas mesmo com esses dados que deste não fui a lado nenhum. Tenho que tentar ver se dou com os logs
Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

Ok, nova aproximação:

Código de erro no log:
Citar
[07-Mar-2010 19:40:38] PHP Fatal error:  Call to a member function getObject() on a non-object in /Applications/MAMP/htdocs/94fm/Site94/includes/classes/authenticator.class.php on line 60

Está um comentário na linha onde dá erro...

Código:
Código: [Seleccione]
<?php
/** ensure this file is being included by a parent file */
defined('C_VALID_PAGE') or die('Direct Access to this location is not allowed.');

/**
 * @desc Autenticação dos utilizadores.
 * @author Nelson Matias <nelson.matias@lizserve.pt>
 * @version 1.2 - 29/05/2006
 * @package 
 * @uses MySQLdb, Query, Session, Error
 */




class Authenticator {
/**
 * Constructor
 *
 * @return Authenticator
 */
function Authenticator() {
}

/**
 * Enter description here...
 *
 * @return Authenticator
 */
function &getInstance() {
static $instance;
if (!is_object($instance)) {
$instance =& new Authenticator();
}
return $instance;
}

/**
 * Enter description here...
 *
 * @return User
 */
function &login() { //$acl
$database =& KalamazooDb::getInstance();
/** escape and trim to minimise injection of malicious sql */
$usrname MySQLQuery::getEscaped(getParam($_POST'usrname'''));
$passwd MySQLQuery::getEscaped(getParam($_POST'passwd'''));

$user null;
if (!$passwd) echo "<script>alert('Please enter a password!'); document.location.href='index.php';</script>\n";
else $passwd md5($passwd);

$sql "SELECT user.*"
." FROM user, usertype"
." WHERE (user_username='$usrname' AND user_state=1)"
." AND usertype_id = user_usertype_id";
$query $database->query($sql);
        
$users $query->getObject('user'true);
foreach ($users as $key => $usr) {
/*ERRO*/ if ($usr->getUserName() == $usrname$user =& $users[$key];
}

if ($query->getCount() == 0)
echo "<script>alert('You cannot login. There are no administrators set up.'); window.history.go(-1);</script>\n";
/** find the user group (or groups in the future) */
elseif (isset($user)) {
if (strcmp($user->getPassword(), $passwd)) {
echo "<script>alert('Incorrect Username, Password, or Access Level. Please try again'); document.location.href='index.php';</script>\n";
return;
}
$logintime time();
$session_id md5($user->getId().$user->getUserName().$user->getUsertype().$logintime);
$sql "INSERT INTO session"
." SET session_id='$session_id',"
." session_user_id=".$user->getId().", session_username='".$user->getUserName()."', session_usertype_id=".$user->getUserType().","
." session_time='$logintime', session_guest=-1";
//$query = $database->query($sql);
//echo $query->toString();
if ($query $database->query($sql))
if ($query->isErrorSet()) echo $query->stderr(true);
else
echo $database->stderr();

$_SESSION['session_id' $session_id;
$_SESSION['session_user_id' $user->getId();
$_SESSION['session_username' $user->getUserName();
$_SESSION['session_usertype' $user->getUserType();
$_SESSION['session_logintime' $logintime;
}
return $user;
}

/**
 * Enter description here...
 *
 * @param Session $session
 */
function clearSession($session null) {
if ($session === null$session =& Session::getCurrent();  //????
//mosCache::cleanCache();
//$session->guest = 1;
$session->username '';
$session->userid '';
$session->usertype '';
$session->gid 0;
//$session->update();
// this is daggy??
$lifetime time() - 1800;
setcookie("usercookie[username]"" "$lifetime"/");
setcookie("usercookie[password]"" "$lifetime"/");
setcookie("usercookie"" "$lifetime"/");
        @
session_destroy();
}

/**
 * Random password generator
 *
 * @return string password
 */
function genPasswd() {
$str "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$len strlen($str);
$pass "";
mt_srand(10000000 * (double)microtime());
for ($i 0$i 8$i++)
$pass.= $str[mt_rand(0$len 1)];
return $pass;
}
}
Offline

Zed_Blade 
Membro
Mensagens 10 Gostos 0
Troféus totais: 17
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 10 Posts First Post Karma Eighth year Anniversary

Ninguém tem ideias relativamente a isto? Já pesquisei no Google, mas verdade seja dita, não percebi grande coisa das resoluções que davam em alguns locais..