2013-04-04 17 views
7

Ho finito con l'errore di sotto quando provo a installare un componente, un modulo o un plugin.JFolder :: create: impossibile creare la directory - Joomla

JFolder::create: Could not create directory 

Quale potrebbe essere il problema?

+0

Permessi cartella? – Bakual

+0

possibile duplicato di [JFolder :: create: impossibile creare la directory in tutte le pagine] (http://stackoverflow.com/questions/18546171/jfoldercreate-could-not-create-directory-in-all-all-pages) – Joe

risposta

24

Modificare la variabile seguente nel file di configurazione (configuration.php) come mostrato.

public $log_path = '/logs'; 
public $tmp_path = '/tmp'; 

fare in modo che queste cartelle ha il permesso cartella 755.

Read more

+1

ho stesso problema e lo ha fatto, ma nulla cambia. cosa posso fare? sto usando joomla 2.5 –

+1

assicurati che apache possa scrivere in quelle cartelle, ed è il proprietario di tutto nel tuo progetto joomla – ContextSwitch

2

Ora ho trovato due soluzioni per risolvere questo problema, e ciascuno di essi è stato lavorato molto bene anche:

Soluzione 1:

Innanzitutto trovare il percorso assoluto esatto per la cartella tmp utilizzando questo trucco :

Creare un file PHP nella root del sito, ad esempio path.php

Luogo questo frammento di codice nel file e premere il pulsante di salvataggio

<?php 
$path = getcwd(); 
echo "Your Absolute Path is: "; 
echo $path; 
?> 

Spostarsi yourdomain.com/path.php nel tuo browser

Da ora in poi:

  1. Accedi al tuo Joomla Adm pannello inistartor.
  2. Vai alla configurazione globale
  3. Fare clic sulla scheda "Server"
  4. Modificare il percorso del "Absolute Path(you've just found)"/tmp
  5. Inserire questa riga di codice nel file .htaccess: php_value open_basedir NULL

    Questa soluzione è stata ha funzionato molto bene per me, e non ha a che fare con l'hacking dei file core di Joomla.

soluzione a due:

  1. Accedi al tuo pannello di Joomla Administartor.
  2. Vai alla configurazione globale
  3. fare clic su No la scheda "Server"
  4. Modificare il percorso da /public_html/tmp a poco tmp
  5. Accesso al pannello di controllo (CPanel), (Oppure si può utilizzare un account FTP per questo scopo)
  6. Open File manager (se si utilizza FTP, questo passaggio deve essere saltato)
  7. aprire la cartella "librerie"
  8. aprire la cartella "Joomla"
  9. Apri cartella "filesystem"
  10. Fare clic destro su "cartella.php" e fare clic su Modifica.
  11. Cercare la linea, (search = OBD): $obd = ini_get('open_basedir'); commento che linea con // all'inizio in modo che diventi: //$obd = ini_get('open_basedir');
  12. Salva e chiudi.
+0

La modifica dei file core non è raccomandata. – Techie

+0

@ Dasun, corretto! E ho aggiornato la risposta di conseguenza. – Hbirjand

+0

solo così sai - se le cartelle di tmp e logs sono errate non puoi accedere al back-end amministratore di Joomla quando ricevi lo stesso messaggio. Ho trovato che il modo migliore è usare il codice php getcwd() in un file chiamato path.php nella root della tua installazione di joomla, caricare path.php e copiare il percorso corretto, quindi aprire configuration.php e aggiungerlo all'inizio delle variabili $ log_path e $ tmp_path – user1784974

0

Dopo un sacco di problemi con questo errore, ho avuto una rottura. Nel file configuration.php, modifica i valori var logpath n tmppath come sotto var $log_path = '/home/public_html/sitename/logs'; var $tmp_path = '/home/public_html/sitename/tmp';

Questo sicuramente funzionerà. E lavora per me.

1

È possibile modificare il proprietario delle cartelle Joomla sul proprio utente del server Apache.

È possibile trovare l'utente del server Apache con il seguente comando:

ps aux | grep -v root | grep apache | cut -d\ -f1 | sort | uniq 

Fonte: https://serverfault.com/questions/125865/finding-out-what-user-apache-is-running-as

Per Ubuntu, è www-data.

Dopo aver individuato il nome utente apache, è possibile modificare il proprietario di tutte le cartelle e i file dell'installazione di Joomla. È possibile utilizzare il seguente comando per farlo:

(suppongo che l'utente apache è www-data)

sudo chown -R www-data:www-data /path/to/your/joomla 

Se sei già dentro la directory di Joomla, quindi è possibile eseguire il seguente comando:

sudo chown -R www-data:www-data .