2010-09-23 20 views
0

J'ai récemment déménagé un site drupal. (Les deux serveurs fonctionnent sur une pile LAMP basée sur debian) Tout fonctionne très bien ici, y compris le téléchargement d'images via un champ de fichier CCK. url d'origine: dev.example.com/fooQue devrais-je vérifier lorsque je ne peux pas télécharger de fichiers dans les champs CCK du champ de fichier?

Déploiement dans un dossier de test sur le serveur de production vers un dossier de test pour une croisière shakedown conduire l'environnement ici: www.example.com/foo

Tout fonctionne ici aussi, y compris les téléchargements d'images. Après avoir ajusté sites/default/settings.php, puis l'avoir rendu de nouveau readonly, j'ai renommé le dossier à son nom de production: www.example.com/bar

Tout fonctionne correctement ici, sauf pour le téléchargement d'images. J'ai ajusté la variable webroot dans settings.php.

choses que j'ai essayé jusqu'à présent:

  • Gave autorisations système php utilisateur d'écriture vers des sites/default/fichiers (images sont définies pour aller dans les sites/default/files/images, mais imagecache les met juste dans les sites/default/files)
  • fichier Enabled de téléchargement de fichiers php pour www.example.com/bar/sites/default/files

y a-t-il d'autres paramètres de configuration que je devrais regarder pour ici? Je suis à court de solutions pertinentes.

Editer: J'avais tout à fait la faute de frappe, j'ai ajusté sites/default/settings.php, pas sites/default.settings.php.

Répondre

1

Votre question est légèrement confuse. default.settings.php n'a aucun impact sur Drupal - c'est simplement un modèle. Le fichier contenant les informations de connexion à la base de données et les autres configurations est settings.php.

Vous pouvez également consulter votre fichier .htaccess dans votre dossier racine Drupal et essayer de modifier la directive RewriteBase dans le dossier auquel vous accédez à votre site. Habituellement, vous ne devriez pas avoir à modifier la directive $base_url dans le fichier settings.php que vous pourriez avoir fait ou ne pas avoir fait. Inversez ce changement pour le moment si vous avez (vous devrez peut-être jouer avec ça plus tard cependant).

imagecache sera toujours télécharger les dérivés d'image dans sites/default/files mais ImageField téléchargera l'image originale dans le dossier vous spécifiez (dans les sites/default/files). Vous obtiendrez un paramètre pour le champ image sous Gérer les champs -> [Nom du champ Image] -> Configurer sous Paramètres du chemin.

Veuillez google pour comprendre la différence entre imagecache et imagefield. Assurez-vous que votre sites/default/files (et ses sous-dossiers) est accessible en écriture pour l'utilisateur apache (généralement www-data).

Dans de telles situations, c'est généralement une bonne idée de prendre un livre sur Apache (si ce n'est déjà fait) et d'essayer de comprendre comment cela fonctionne. Cela prendra du temps mais vous aidera à l'avenir lorsque vous rencontrerez des problèmes de configuration comme celui-ci.

+0

Merci pour les conseils. Je vais essayer de restaurer le fichier settings.php et d'ajuster .htaccess à la place. Je n'ai pas un accès complet à Apache sur cette boîte, mais je vois clairement ce que vous voulez en savoir plus. – ford

0

Cela a fonctionné pour moi.Lorsque le téléchargement des images ayant des questions à un champ CCK, j'ai donné des autorisations d'écriture sur le répertoire:

sites/default/files/champ/image