Foros del Web » Programando para Internet » PHP »

Problema con funcion

Estas en el tema de Problema con funcion en el foro de PHP en Foros del Web. Hola a todos. Tengo la siguiente funcion: function run_plugin($plugin_class_name) { $myquery = "SELECT P.MODULE_NAME, P.CLASS_NAME, D.NAME DIRECTORY FROM T_PLUGIN P LEFT JOIN T_DIRECTORY D ON ...
  #1 (permalink)  
Antiguo 23/11/2005, 16:44
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Problema con funcion

Hola a todos.

Tengo la siguiente funcion:

function run_plugin($plugin_class_name)
{
$myquery = "SELECT P.MODULE_NAME, P.CLASS_NAME, D.NAME DIRECTORY
FROM T_PLUGIN P LEFT JOIN T_DIRECTORY D ON (D.ID=P.DIRECTORY_ID)
WHERE P.NAME='$plugin_class_name'";

$r = mysql_query($myquery) or die(mysql_error());
if(!$r)
{
echo("failed $myquery");
}
$f = mysql_fetch_array($r);

include_once($f["DIRECTORY"]."/".$f["MODULE_NAME"]);

$plugin = new $f["CLASS_NAME"];
$html = $plugin -> run();

Return $html;
}


Y me aparece los siguientes errores al ejecutar la página :

Warning: run_plugin(/): failed to open stream: Success in /var/www/vhost/miservidor.com/home/html/calendar/classes/cPlugin.class.php on line 52

Warning: run_plugin(): Failed opening '/' for inclusion (include_path='.:/usr/share/pear') in /var/www/vhost/miservidor.com/home/html/calendar/classes/cPlugin.class.php on line 52

Fatal error: Cannot instantiate non-existent class: in /var/www/vhost/mi servidor.com/home/html/calendar/classes/cPlugin.class.php on line 54


Donde las lineas 52, 53 y 54 son respectivamentes estas:

include_once($f["DIRECTORY"]."/".$f["MODULE_NAME"]);

$plugin = new $f["CLASS_NAME"];


Podriais ayudarme que me estoy volviendo loco????

Gracias de antemano
  #2 (permalink)  
Antiguo 24/11/2005, 05:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Que valor de ruta dá?:

echo $f["DIRECTORY"]."/".$f["MODULE_NAME"];

Al parecer la ruta que ahí indicará no existe o hay problemas de acceso (permisos?).

Un saludo,
  #3 (permalink)  
Antiguo 24/11/2005, 09:39
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
He probado tambien el mi servidor web y creo que son problemas con los permisos.
He hablado con el Soporte de mi ISP y me dicen que a pesar que de figura en mi panel de control, no puedo cambiar estos privilegios.

Lo que devuelve Cluster es un directorio y un fichero que toma de la base de datos. Un id asociado a un directorio del tipo:
Id Directorio
1 class
2 config

Como puedo arreglarlo???

Gracias

Última edición por Cluster; 24/11/2005 a las 10:09
  #4 (permalink)  
Antiguo 24/11/2005, 10:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Realmente no entiendo el sistema de que se trata. Te solicitava simplemente que indiques el dato concreto que origina el problema .. tal vez devuelve una ruta que queda fuera de tu sitio asignado en ese servidor y he de ahí problemas de permisos para acceder a ese directorio.

Pero, lo primero habría que ver por donde está generando esas rutas exactamente. Si son rutas bajo tu: /var/www/vhost/mi servidor.com/ .. deberías tener acceso y permisos para modificar los permisos de algún directorio bajo tu control y si tu no puedes hacerlo, solicitar a tu proveedor que lo haga si corresponde.

Un saludo,
  #5 (permalink)  
Antiguo 28/11/2005, 11:13
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
La ruta que comentas Cluster está dentro de mi dominio y existe perfectamente. Por eso no entiendo que de error, ni que en el error ponga directorios a los que las rutas no apuntan.

Las rutas son del tipo class/clase.css
  #6 (permalink)  
Antiguo 28/11/2005, 11:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa una vez más que datos traen esas variables tras tu consulta a tu BD .. por qué uno de los mensajes de error dice:

Cita:
"Failed opening '/' for inclusion "
Siendo que sale de la llamada a:
Código PHP:
include_once($f["DIRECTORY"]."/".$f["MODULE_NAME"]); 
a mi me hace pensar que esas variables no están tomando sus valores. ¿ Por qué? .. no sé, pero por eso mismo te decía que te asegures que esas variables antes de atacar a esa función (include_once()) tenga los varloes esperados.

Un saludo,
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 23:10.