Domanda

Di solito uso questa linea per importare file dalla cartella corrente e funziona perfettamente sul mio server host locale

require("../DataBase.class.php"); 

ma quando carico lo script sul mio sito Web ricevo questo avviso

  

Attenzione:   include (../ DataBase.class.php)   [function.include]: impossibile aprire   stream: nessun file o directory

È stato utile?

Soluzione

Alla modalità provvisoria non piace " ../" ;. Quindi dovresti sempre usare qualcosa come

require_once realpath(dirname(__FILE__) . '/..') . '/file.php';

Altri suggerimenti

Quello che sta probabilmente accadendo è che l'impostazione include_path in php.ini è diversa sul tuo server rispetto alla tua installazione locale di PHP / Apache. Insieme a questo, tieni presente che ../ non punta alla directory corrente in cui si trova il file, punta alla directory principale della directory corrente in cui ti trovi. Quello che consiglierei è scoprire il percorso completo di la radice del documento, quindi includendo i file in questo modo:

<?php

$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );

?>

Stai cercando il file nella directory principale. Se lo desideri nella directory corrente, utilizza:

require 'Database.class.php';

Forse sul tuo server web locale ne hai una copia nella directory principale per qualche motivo che non esiste sul tuo server remoto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top