Pregunta

hai. Tengo sitio, lo cual es realmente raro, y ahora me está haciendo problemas. Esta es una estructura simplificada

public_html
- adm
--- raport
------ raportpdf.php
--- class
------ Bonus
--------- Bonus_DAO.class.php 
------ config.php
--- raport.php
- index.php

así.Index.php es un cargador gigante.Tiene líneas: (pero no creo que estén haciendo difRENCIA)

set_include_path('lib/DB' . PATH_SEPARATOR . get_include_path());
set_include_path('lib/PHPLOT' . PATH_SEPARATOR . get_include_path());
set_include_path('config' . PATH_SEPARATOR . get_include_path());
set_include_path('view' . PATH_SEPARATOR . get_include_path());
set_include_path('controller' . PATH_SEPARATOR . get_include_path());
set_include_path('model' . PATH_SEPARATOR . get_include_path());

dentro de bono_dao.class.php es algo así como

require_once('./adm/class/config.php');

raportpdf.php se llama a través de index.php: envía su contenido sin ningún error en el correo. Pero cuando quiero acceder a raport.php, tengo error como:

Warning: require_once(./adm/class/config.php) [function.require-once]: failed to open stream: No such file or directory in /home/panele/domains/blahblah/public_html/adm/class/Bonus/Bonus_DAO.class.php  on line 2

Fatal error: require_once() [function.require]: Failed opening required './adm/class/config.php' (include_path='.:/usr/local/lib/php') in /home/panele/domains/blahblah/public_html/adm/class/Bonus/Bonus_DAO.class.php on line 2

¿Cómo puedo resolver esto?

¿Fue útil?

Solución

Inserte una línea, como la siguiente en un archivo que se incluye en esta estructura suya (este archivo incluido debe estar ubicado en su directorio raíz, algo así como un Config.php o yo usualmente uso init.php).

define("ROOT_DIR",dirname(__FILE__));

Luego, donde está recibiendo los errores (o para la sinonimia dentro de su código para esa materia: en cualquier lugar que requiera () / include ()), agregue root_dir. "/ RUTACIÓN / A / ARCHIVO" Antes de él. Lo que está haciendo es dar la ruta absoluta al directorio raíz y luego simplemente especifique el directorio dentro de la raíz que está buscando. Por ejemplo, mi directorio raíz es "/ Home2 / Ejemplo". Ahora, inserto esta línea en un archivo que he incluido, etc. y cambie la línea Requerida a esto:

require_once(ROOT_DIR."/adm/class/config.php");

La línea anterior básicamente se traduce a esto (suponiendo que usé el defense (); declaración dentro de un archivo ubicado en / home2 / Ejemplo)

require_once("/home2/example/adm/class/config.php");

Básicamente, esta es una manera fácil de dar rutas estáticas un elemento dinámico para que no se convertirá en este problema nuevamente!

buena suerte!
Dennis m.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top