Problema con Classe su Linux

Ciao a tutti sono nuovo del forum .Espongo il mio problema , da poco uso linux (ubuntu) ho installato LAMP, uso anche windows e lì ho creato una mia classe DB con paginazione , PHP 5 , Mysql 5 e Apche insomma stesse versioni. La Classe usa una sigleton per i parametri di connessione a Mysql che richaimo nella mia classe DB.

Ora su windows che uso xampp funziona perfettamente mentre su Linux mi da warning sull'include della classe db ed un fatal error come se non trovasse i file della classe.

I files delle classe si trovano nella stessa root , dato che testavo anche lì la classe stessa.

Ho provato include , require_once, include_once nulla continua a darmi lo stesso errore che però in windows xampp funziona benissimo.

Qualcuno può darmi qualche suggerimento cosa potrebbe essere il problema?

Grazie

Tom

inviato 9 anni fa
tommer
X 0 X

Deve trattarsi di un problema di percorsi. Stai usando percorsi assoluti o relativi al primo file chimato?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
include('DB.class')

il file è nella stessa root in Linux /home/tommer/public_html ho provato a dargli il percorso assooluto ma nulla ho provato anche con varilbile $server, bo non riesco a capire proprio.

Tommer

risposto 9 anni fa
tommer
X 0 X

scritto così è un percorso relativo al primo file lanciato (es. index.php), quindi se non si trova nella stessa cartella di tale file allora il percorso è sbagliato

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Scusa Gianni ma in windows Funzia , quindi come dovrei scrivere L'include visto che le ho provate tutte in Linux?

risposto 9 anni fa
tommer
X 0 X
scritto così è un percorso relativo al primo file lanciato (es. index.php), quindi se non si trova nella stessa cartella di tale file allora il percorso è sbagliato

Ah scusa cmq è nella cartella cioè del tipo publi_hmtl contiene index.php, Db.class, e Dbparamter (classe sigleton) inclusa in Db.class, ma tutti i suddeti files sono in public_hmtl che nel mio caso è la Document root che ho creato in Apache .

risposto 9 anni fa
tommer
X 0 X

Ecco l'errore:

Warning: include_once(/home/tommer65/public_html/classe/DBparameter.php) [function.include-once]: failed to open stream: No such file or directory in /home/tommer65/public_html/classe/DB.php on line 2

Warning: include_once() [function.include]: Failed opening '/home/tommer65/public_html/classe/DBparameter.php' for inclusion (include_path=''.:/usr/share/php:/usr/share/pear'') in /home/tommer65/public_html/classe/DB.php on line 2

Fatal error: Class 'Parametri_connesione' not found in /home/tommer65/public_html/classe/DB.php on line 25

risposto 9 anni fa
tommer
X 0 X

Questo è ilcodice che uso:

<?

  include_once $_SERVER['DOCUMENT_ROOT']."/classe/DB.php";





  $DB = new database;

  $DB->connetti();

  // Query

  $DB->setQuery("select * from prova");

  $result = $DB->exec_query();

  while($row = $DB->fetchArr($result))

  {

     echo $row['id_prova']. "<br>";

     echo $row['descrizione'];

  }



$DB->Chiudi();











?>
risposto 9 anni fa
tommer
X 0 X

dove si trova DBparameter.php ? in /home/tommer65/public_html/classe/DBparameter.php ? ovvero nella cartella classe all'interno della root del server web?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Si

risposto 9 anni fa
tommer
X 0 X

E allora perché non lo trova? Il file in questione ha i permessi per poter essere letto da tutti?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Si è una cosa veramente strana adesso ho provatoa fare una classe di test creando solo una proprietà e funziona l'include proverò a riscrivere tutto boooo, anche se la Classe è corretta infatti in windows funziona.

risposto 9 anni fa
tommer
X 0 X

Senti siccome è da poco che uso Linux adesso guardando i files .class me li vede come Class JAva , premetto che ho provato a rinominarli php e non funzionano lo stesso , ma quindi se io salvo un file .class lui li vede coma class java?

Questo potrebbe creare problemi?

Tom

risposto 9 anni fa
tommer
X 0 X

Credo che il problema sia la classe singleton ho provato a mettere un echo con exit nella classe Db e me lo vede mentre nella classe singleton no , credo sia li.

risposto 9 anni fa
tommer
X 0 X

Trovato funzia era un problema di scrittura quando richiamavo la classe singleton però non mi psiego perchè su windows questo non me lo segnalava.

Scusa per il disturbo e grazie

Tom

risposto 9 anni fa
tommer
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda