Foros del Web » Programando para Internet » PHP »

Error extraño probando en servidor

Estas en el tema de Error extraño probando en servidor en el foro de PHP en Foros del Web. Tengo un problema rarisimo... tengo instalado un servidor local en mi computadora con PHP 5.3.5 y apache para windows 64, donde toda la pagina funciona ...
  #1 (permalink)  
Antiguo 19/03/2012, 22:05
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Exclamación Error extraño probando en servidor

Tengo un problema rarisimo... tengo instalado un servidor local en mi computadora con PHP 5.3.5 y apache para windows 64, donde toda la pagina funciona perfectamente bien

Sin embargo cuando la subo al servidor para probarla en vivo me sale un error Fatal error: Call to undefined method menu::añadir() in /home/mundose1/public_html/nyxmexico/include/startup_back.php on line 28, en el servidor remoto esta instalado el PHP 5.2.17 para linux

Lo curioso es que por mas que reviso no veo el problema, la libreria existe y esta en el servidor y la prueba es que la pagina principal tambien hace uso de ella....

Ambos scripts (la pagina principal y la de problema) se inicializan de manera casi igual y ambos scripts tienen la misma codificacion UTF8, asi que no entiendo donde puede estar el problema...

index.php:
Código PHP:
<?php
session_start
();
ob_start();
require 
'constantes.php';
require 
dir_inc.'funciones.php';
require 
dir_inc.'main.class.php';
require 
'libs/Smarty.class.php';
date_default_timezone_set("America/Mexico_City");
setlocale(LC_TIME"es_MX""mex""spanish-mexican""esm");
ob_end_clean();

// Se invoca el objeto controlador de las plantillas
$smarty =    new Smarty;
$smarty ->    setdebugging(false);
$smarty->    caching 0;
$smarty ->    assign('self',dir_self);

// Se crea menu principal
$menu = new menu();
$menu->añadir('Inicio'"index.php");
$menu->añadir('Servicios''index.php?m=servicios');
$menu->añadir('Contacto''index.php?m=contacto');
//$menu->añadir('Electronica', 'index.php?m=electronica', 'Servicios');
$menu->añadir('Computacion''index.php?m=computacion''Servicios');
$menu->añadir('Internet''index.php?m=internet''Servicios');
$menu->añadir('Seguridad''index.php?m=seguridad''Servicios');
startup_back.php:
Código PHP:
<?php
session_start
();
ob_start();
require 
'constantes.php';
require 
dir_inc.'funciones.php';
require 
dir_inc.'main.class.php';
require 
'libs/Smarty.class.php';
date_default_timezone_set("America/Mexico_City");
setlocale(LC_ALL"es_ES""mex""spanish-mexican""esm");
ob_end_clean();

// Actualizar procesos de background
$bd Db::singleton();
$utilz utilz::singleton();

// Se invoca el objeto controlador de las plantillas
$smarty =    new Smarty;
$smarty ->    setdebugging(false);
$smarty ->    caching 0;
$smarty ->    assign('self',dir_self);
if (isset(
$_SESSION['msg'])) {
    
$smarty ->    assign('alerta',$_SESSION['msg']);
    unset(
$_SESSION['msg']);
}

// Menu superior
$menu_sup = new menu();
$menu_sup -> añadir('Agenda''agenda.php''''menu_l');
$menu_sup -> añadir('Directorio''directorio.php''''menu_l');
$menu_sup -> añadir('Consulta''consulta.php''''menu_l');
$menu_sup -> añadir('Salir'dir_home.'?action=salir''''menu_r');
  #2 (permalink)  
Antiguo 20/03/2012, 00:07
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Error extraño probando en servidor

Edit:

Acabo de encontrar quel error esta en la linea:
Código PHP:
setlocale(LC_ALL"es_ES""mex""spanish-mexican""esm"); 
Que tiene que ser
Código PHP:
setlocale(LC_TIME"es_ES""mex""spanish-mexican""esm"); 
Solo que aun no entiendo por que lo afecta de esta manera.... alguien me puede ayudar??
  #3 (permalink)  
Antiguo 20/03/2012, 01:46
 
Fecha de Ingreso: marzo-2012
Ubicación: Valencia
Mensajes: 31
Antigüedad: 12 años, 1 mes
Puntos: 6
Respuesta: Error extraño probando en servidor

Se que no te voy a solucionar el problema, pero trata de no usar "ñ" ni caracteres raros en la programacion, te evitaras dolores de cabeza...
  #4 (permalink)  
Antiguo 20/03/2012, 08:58
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Error extraño probando en servidor

El problema esta en este include, no esta resolviendo bien la ruta

Código PHP:
Ver original
  1. require dir_inc.'funciones.php';

Intenta cambiarla por la ruta absoluta para probarlo.

Saludos
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 20/03/2012, 10:43
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Error extraño probando en servidor

Lo probe con ruta absoluta y fue lo mismo... de echo cambie todos los includes ya que tengo diversas clases y funciones...

Lo unico que funciono fue cambiar el setlocale, cosa que (segun yo) no tiene nada que ver... :S
  #6 (permalink)  
Antiguo 20/03/2012, 20:43
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Error extraño probando en servidor

Nadie tiene mas ideas? la verdad me preocupa por que no estoy seguro que ese sea el error... :(
  #7 (permalink)  
Antiguo 01/04/2012, 17:29
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Error extraño probando en servidor

Resuelto... efectivamente el problema es en la ñ, PHP tiene un bug con el SETLOCALE, aparentemente interfiere con caracteres especiales en los nombres de clases... si nos va bien lo reparan en la version 6...

https://bugs.php.net/bug.php?id=18556
https://bugs.php.net/bug.php?id=35050

Lo que hice para corregirlo (lo dejo por si a alguien le sirve) es quitar la ñ de todas las clases y dejar el setlocale de la siguiente manera:

Código PHP:
setlocale(LC_ALL,'es_MX','');
date_default_timezone_set("America/Mexico_City"); 

Última edición por Chico3001; 01/04/2012 a las 17:34

Etiquetas: extraño, html, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:59.