Message d'avertissement

The subscription service is currently unavailable. Please try again later.

[Résolu] Message d'erreur : function.mkdir

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

je tente de procéder pour un amis à une restauration de son site internet. La société qui s'occupais précédemment de la gestion du dit site étant en cessation d'activité.

Ils m'ont fournis un dossier comportant tous les fichiers présent sur leur serveurs ainsi qu'une sauvegarde de la base de donnée.

J'ai donc transféré les fichiers (copié d'un fichier ZIP puis décompression sur le serveur) et restauré la base de donnée.

J'ai ensuite modifié le fichier "sites/default/settings.php" pour faire pointer sur la nouvelle base de donnée.

Mon problème est le suivant : quand je me connecte sur la page du site j'ai les deux lignes suivantes :

Warning: mkdir() [function.mkdir]: No such file or directory in /www/sites/all/modules/admin/cacherouter/engines/file.php on line 233

Fatal error: Call to undefined function module_implements() in /www/includes/bootstrap.inc on line 965

J'avoue ne pas avoir trouvé ce qui pouvait poser problème malgré mes recherches ... si quelqu'un aurait éventuellement une idée ...

Par avance : Merci.

Vindkald

Version de Drupal : 

Avant toute choses, merci pour la réponse.

Je viens de vérifier au niveaux des droits il semble que les attributs n'aient pas été sauvegardés.

J'ai passé en 755 le répertoire "sites/default/files" qui était en 705 mais le message d'erreur est toujours présent.

Si les droits n'ont pas été sauvegardés, il faut les reconstruire tous, y compris en changeant le propriétaire des répertoires de toute la structure. En gros, à la racine du site, faire un

chown -R user:group *
chmod -R 755 sites/default/files

... ou user:group doit bien sûr être adapté à votre environnement.

Ensuite vider les caches et croiser les doigts (éventuellement dans le désordre).

Merci,

Bon je me sent un peut bête du coup de poser ce genre de question mais je n'avais jamais travaillé avec Drupal ...

Pour vider les caches à la main (n'ayant aucun accès au site) je ne parviens pas à mettre la main sur les répertoires et / ou tables à vider.

De plus "user:groupe" correspondrait à quoi dans le cadre d'un hébergement chez OVH ?

Ça dépend de l'hébergement. Et la question est loin d'être bête et est communément posée.

Si vous avez un accès à la base de données, vous pouvez vider manuellement les tables commençant par cache_ et voir si ça suffit.

Pour les autorisations, je pense que le simple fait de pouvoir télécharger les fichiers indique qu'elles doivent être à peu près bonnes. Une vérification de sites/default/fiels devrait suffire.

Une erreur courante aussi est d'oublier le fichier .htaccess à la racine et celui qui est dans sites/default/files.

Visiblement le problème est toujours présent après avoir vidé le cache.
A tout hasard j'ai tenté de modifier le fichier de configuration pour donner un accès erroné volontairement à la base de donnée. Le problème reste le même je pense que nous pouvons exclure cette piste. Le soucis ne semble pas venir de la base de donnée.

Si si, je pense qu'il y a un souci de synchro entre la BD et le filesystem. En gros, le module cacherouter pense qu'un des ses répertoires est là alors que ce n'est pas le cas.

Il faudrait le désactiver. S'il n'y a pas d'accès au site du tout, il faut accéder à la base de données et mettre le champ "status" à 0 pour cacherouter.

Quelque chose comme :

UPDATE system SET status=0 WHERE name='cacherouter';

Eventuellement, re clear cache et test.

EDIT : http://drupal.org/project/cacherouter : il faut modifier des choses dans le settings.php aussi. Commenter les lignes concernant ce module devrait suffire.

Merci beaucoup le problème venais bien de là !

En allant commenter mon fichier pour retirer les lignes :

$conf['cache_inc'] = './sites/all/modules/contrib/cacherouter/cacherouter.inc';
$conf['cacherouter'] = array(
'default' => array(
'engine' => 'db',
'servers' => array(),
'shared' => TRUE,
'prefix' => '',
'path' => 'sites/default/files/filecache',
'static' => FALSE,
'fast_cache' => TRUE,
),
);

Je me suis rendu compte que le 'path' correspondait à la configuration de l'ancien serveur, après correction tout est rentré dans l'ordre.

Encore merci !