Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-07-21 08:31:48

rhackert
Membre
Inscription : 2008-07-21
Site Web

instal Chez NFrance: Something went wrong: Unable to create cache file

Bonjour

notre blog associatif sous DC1 http://www.pcf-gennevilliers.org est hébergé chez NFrance et fonctionne parfaitement.

Nous souhaitions passer sous DC2.

Après avoir activé le php5 je parviens à installer le blog et à entrer dans l'interface administrateur.
Lorsque je souhaite accéder au blog,  je reçois le message

Something went wrong: Unable to create cache file


Quelqu'un sait-il comment procéder ?


Les prérequis sont remplis par l'hébergeur.
le safe mode est sur ON chez cet hébergeur, et la désactivation n'est pas à l'ordre du jour. Une valeur particulière du safe mode ne fait pas partie des prérequis.


Merci, bonne journée à tous

Hors ligne

#2 2008-07-21 10:05:10

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Bonjour et bienvenue,

en premier lieu, vérifie les droits sur le dossier cache de Dotclear (n’hésite pas à le mettre en 777) et dis-nous si ça fonctionne mieux. Pour le safe mode, je ne sais pas à quoi ça sert exactement, mais j’en ai souvent lu du mal ici ;-)


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#3 2008-07-21 13:33:04

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Bon j'ai recommencer une installation de zero en demandant au service technique de Nfrance de me dire comment activer proprement php5

sa reponse et :


creer un .htaccess contenant le code suivant dans votre répertoire à exécuter en php5 :

<IfModule mod_fastcgi.c>
AddHandler fastcgi-php5 .php
Action fastcgi-php5 /cgi-bin/php5
</IfModule>


ce que j'ai fait.

Maintenant j'ai une autre erreur

Unable to create directory.
Something went wrong while loading template file for your blog.


qui a un air de déjà vu sans que je trouve de réponse claire a cette erreur


Vous avez quelques conseils ?


merci

Hors ligne

#4 2008-07-21 14:13:19

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

On est toujours a priori dans un problème sur les droits d’écriture sur le dossier cache. Si ça persiste à ne pas fonctionner en 777, essaie de remplacer, dans inc/config.php

// Template cache directory
define('DC_TPL_CACHE',dirname(__FILE__).'/../cache');

par

// Template cache directory
define('DC_TPL_CACHE','/tmp');

et dis-nous ce que ça donne :-)


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#5 2008-07-21 14:27:52

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

cette fois il me repond que /tmp is not a valid directory tout simplement parce qu'il ne le trouve pas vu que cela enleve dirname(__FILE__). qui conduit jusqu'au directory contenant le config.php pour qu'il trouve ce directory il faudrait que je le cree dans inc. Si je le fais, je retombe sur la meme erreur, ce qui est logique, le directory /tmp ayant les meme droit d'ecriture que le cache original.

Hors ligne

#6 2008-07-21 14:55:26

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

le répertoire /tmp est le répertoire temporaire par défaut des systèmes *nix, il est donc présent sur de nombreux serveurs web (mais pas toujours accessibles par les utilisateurs).

Tu n’as pas accès au réglage des droits sur le dossier cache par ftp ? Parce que c’est ce que je te suggère de faire depuis le début (et tu ne m’as pas répondu clairement sur ce point)…


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#7 2008-07-21 15:14:49

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

je suis sur un serveur mutualisé. Mes acces demarre la ou commence mon espace c'est a dire a /home/mon_repertoire.
je n'ai pas acces juqu'a la racine et au /tmp systeme etc...

Hors ligne

#8 2008-07-21 15:44:53

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Et pour les droits du répertoire cache (qui lui est dans le dossier dotclear) tu as regardé ? J’insiste…


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#9 2008-07-21 15:47:09

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Si on cherche l'endroit ou est generer l'erreur on arrive a l'appel de la fonction
url->getDocument()
dans le fichier public/prepend.php

cette fonction est elle meme definie dans le fichier inc/clearbricks/url.handler/class.url.handler.php

je continue.....

Hors ligne

#10 2008-07-21 15:49:03

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

les droits du repertoire cache ont ete mis a 777 , ainsi que ceux des deux subdirectory mais cela ne change rien :(

Hors ligne

#11 2008-07-21 16:34:55

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

si on poursuit la quete de l'erreur on trouve que celle ci est generer au niveau de l'appel a la fonction
call_user_func
or apres avoir consulter le net, la syntaxe d'appel a cette fonction a ete modifié a partir de la version 5.3 de php (cf http://fr3.php.net/call_user_func)

mon hebergeur est sur une version anterieure , la 5.2.1

si les programmeur de dotcleatr on adopter le nouvelle syntaxe je l'ai dans l'os.

il serait interessant d'avoir un avis des programmeur ou alors que ceux qui ont reussi a installer nous disent quelq version de php est utilisée chez leur hebergeur.

Merci

Hors ligne

#12 2008-07-21 20:20:47

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

rhackert : je me suis permis d'envoyer un email à l'adresse email enregistrée dans ce forum pour te demander quelques informations un peu trop sensibles pour apparaître ici. Rassure-toi il n'y a aucun risque, c'est juste de la prudence.

Hors ligne

#13 2008-07-22 00:07:31

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Ok,
on reprend ici. C'est visiblement un problème avec safe_mode, comme dans ce précédent message. J'en ai parlé à Olivier sur le Trac pour savoir si ça pouvait être la cause du problème ou non.

Hors ligne

#14 2008-07-22 00:20:58

olivier
Administrator
Inscription : 2004-10-11

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

rhackert, aucun risque qu'on utilise des syntaxes propres à PHP 5.3, on essaye de rester compatibles 5.0 pour le moment :)

Je vais regarder demain comment ça se comporte en safe_mode. Je ne peux pas garantir de résoudre ce problème si je l'identifie à ce stade du dev. Mais j'en prends note :)


La seule difference entre un fou et moi, c'est que je ne suis pas fou. (Dali)

Hors ligne

#15 2008-07-22 00:39:58

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

olivier, je viens de regarder rapidement les effets du safe_mode activé :
* il est impossible de se servir du répertoire /tmp comme répertoire temporaire car /tmp appartient à root hors le safe_mode "Vérifie que le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté" (documentation PHP)
* avec la configuration par défaut (dirname(__FILE__).'/../cache') et le répertoire cache avec les droits 777 :
** ça fonctionne si le propriétaire et l'utilisateur d'Apache sont les mêmes
** ça affiche "Unable to create directory." si on change le propriétaire (mais pas les droits, je précise)

C'est conforme à la documentation PHP. J'en conclue que le problème de rhackert correspond au dernier cas ...

rhackert : j'ai encore un petit truc à te demander s'il-te-plaît : crée un fichier plop.php et colles-y ceci :

<?php mkdir(dirname(__FILE__).'/repertoiretest'); ?>

Ensuite transfère ce fichier sur ton hébergement et accèdes-y avec ton navigateur. Qu'est-ce qui s'affiche ? Est-ce qu'un répertoire appelé repertoiretest est créé au même niveau que ce fichier sur ton hébergement ?

Hors ligne

#16 2008-07-22 06:43:23

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

la reponse :

le fichier.php a ete place dans une repertoire ouvert en ecriture 777

il y eu creation du repertoire quelques soient les droits que plop.php avait 555 554 544.... et meme 004
le repertoire "repertoiretest" crée avait des droits à 755

voila, j'espere que ca peut aider....

Hors ligne

#17 2008-07-22 07:28:01

olivier
Administrator
Inscription : 2004-10-11

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Merci Moe :)

On pourrait peut-être faire un bête plugin pour créer des répertoires à la raçine d'un hébergement, pour ce cas précis ?


La seule difference entre un fou et moi, c'est que je ne suis pas fou. (Dali)

Hors ligne

#18 2008-07-22 09:31:15

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

rhackert : ok, maintenant on va faire la même chose dans le répertoire /dotclear/ : efface le répertoire cache puis on crée un fichier create-cache.php et on y insère ceci :

<?php
$dir = dirname(__FILE__).'/cache';
if (!is_dir($dir))
{
	mkdir($dir);
	echo "cache créé";;
}
?>

Tu vas sur /dotclear/create-cache.php avec ton navigateur et ça devrait afficher "cache créé" et là le blog devrait être accessible si dans /dotclear/inc/config.php il y a

define('DC_TPL_CACHE',dirname(__FILE__).'/../cache');

olivier : si j'ai bien compris le problème, le safe_mode bloque la création des répertoires à cause des UID différents des répertoires (qui doivent correspondre au login du FTP) et de Apache. Pour le répertoire cache c'est possible de l'effacer et de le recréer car il est vide mais pour les autres répertoires c'est plus compliqué. Ta solution c'est d'installer les répertoires cache, plugins, themes, public en dehors de Dotclear avec un script ?

Le truc con, c'est que si on crée un plugin il pourra peut-être pas être installé à cause du safe_mode  ... je crois déjà avoir vu le cas sur le forum : il y avait la même erreur et il fallait passer par le FTP pour installer un plugin.

Hors ligne

#19 2008-07-22 09:56:16

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

je viens de faire le test, l'erreur reste la même.

directory cache créé avec droit 777  mais ca n'a rien changé
car le proprietaire n'est pas le meme (65534 proprietaire) , le groupe lui par contre est le meme (1057 dans mon cas)!

je viens de remarquer que c'est aussi le cas pour le "repertoiretest" (voir un peu plus haut)

donc si ca vient bien du proprietaire il faut pouvoir imposer.
Comme j'ai uploder tout dotclear2 via filezilla tous les proprietes sont au niveau 1057(proprietaire et groupe), c'est comme comme si je créeais a la main un répertoire.

Hors ligne

#20 2008-07-22 10:08:49

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Mince, je pensais qu'on était sur la bonne voie.

Il reste la solution d'olivier : créer à la racine. Refais les mêmes manips que dans le message #18 mais à la racine de l'hébergement et non dans /dotclear/ et en mettant ça dans le fichier de config :

define('DC_TPL_CACHE',dirname(__FILE__).'/../../cache');

C'est possible que ça ne change rien mais bon, ça ne coûte rien d'essayer ...

Hors ligne

#21 2008-07-22 10:24:19

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

c'est fait....pas de changement....

Hors ligne

#22 2008-07-22 10:26:57

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

je ne veut pas avoir l'air d'insister mais cette fonction call_user_func(    ) , elle fait quoi exactement? les argument envoyer ne doivent pas etre bon puisque c'est elle qui génère l'erreur. Elle cherche à écrire  dans des repertoires ?

Hors ligne

#23 2008-07-22 22:06:27

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

À titre personnel (je ne suis pas un expert) je n'ai pas de solution à te proposer, je suis désolé. Apparemment chez NFrance il faut payer pour désactiver le safe_mode alors que la majorité des hébergeurs le désactivent. Le fichier de configuration de PHP indique que cette mesure est une mauvaise mesure de protection :

; Safe Mode
; NOTE: this is considered a "broken" security measure.

Si tu es en fin de contrat, je te suggère d'aller chez un hébergeur compatible avec Dotclear. Sinon tu peux utiliser Dotclear 1 sur ton hébergement.

Hors ligne

#24 2008-07-22 23:32:57

olivier
Administrator
Inscription : 2004-10-11

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

call_user_func permet d'appeler une fonction à partir d'une variable. C'est la fonction appelée par call_user_func qui pose problème. Je rejoins pas mal Moe sur le safe mode, les hébergeurs un minimum sérieux n'ont pas le safe mode activé, les autres sont plus ou moins des guignols qui n'ont visiblement jamais configuré un grsec mais tout ceci est accessoire et ne résout pas ton problème, j'en conviens :)


La seule difference entre un fou et moi, c'est que je ne suis pas fou. (Dali)

Hors ligne

#25 2008-07-23 05:57:46

rhackert
Membre
Inscription : 2008-07-21
Site Web

Re : instal Chez NFrance: Something went wrong: Unable to create cache file

Si donc le diagnostic est que c'est bien le safe_mode qui pose probleme, dans ce cas je vous propose d'ajouter dans les prerequis que le safe_mode doit être sur off.
Du reste le safe_mode aura disparu avec le version 6 de php....
bonne continuation
RH.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map