Cuando trato de acceder a include/config.php desde dentro de account/index.php obtengo estos errores:
Advertencia: include(classes/user.php): no se pudo abrir la transmisión: no existe tal archivo o directorio en /var/www/htdocs/dashboard/includes/config.php en la línea 6
Advertencia: include (): no se pudo abrir 'classes/user.php' para su inclusión (include_path='.:/usr/share/php') en /var/www/htdocs/dashboard/includes/config.php en la línea 6
Defino la ruta correctamente, pero cuando index.php accede a config.php, creo que config.php ocurre un problema de directorio al llamar a las clases en config.php, no pude encontrar cómo resolverlo.
Gracias por adelantado.
Aquí está la estructura de carpetas
App/ ├─ account/ │ ├─ index.php ├─ classes ├─ includes/ │ ├─ config.php ├─ index.phpindex.php en cuenta/index.php
<?php require('../includes/config.php'); ?>config.php en incluye/config.php
<?php ob_start(); session_start(); //include the user class, pass in the database connection include('classes/user.php'); include('classes/phpmailer/mail.php'); include('classes/slug.php'); $user = new User($db); ?>Como dijo @Sohrab, debes darle una ruta absoluta. Puede resolver este problema con __DIR__ . (el directorio del archivo) para obtener más información sobre DIR
Deberías usarlo como:
require(__DIR__.'/../includes/config.php');también en config.php y otros archivos:
include(__DIR__.'/../classes/user.php'); include(__DIR__.'/../classes/phpmailer/mail.php'); include(__DIR__.'/../classes/slug.php');El archivo de configuración busca los archivos en su directorio. Debes cambiar tu código a:
<?php ob_start(); session_start(); //include the user class, pass in the database connection include('../classes/user.php'); include('../classes/phpmailer/mail.php'); include('../classes/slug.php'); $user = new User($db); ?>