Drupal et ouvaton

Ça, c’est heureusement pas trop difficile: http://ouvaton.coop/spip.php?article136

Effectivement, l’extension n’est pas chargée par défaut, mais il est possible de l’activer selon ce qui est indiqué sur la page sus-mentionnée.

Coop,
Greg

[quote=greg]

Ça, c’est heureusement pas trop difficile: http://ouvaton.coop/spip.php?article136

Effectivement, l’extension n’est pas chargée par défaut, mais il est possible de l’activer selon ce qui est indiqué sur la page sus-mentionnée.

Coop,
Greg[/quote]

En effet, « pdo_mysql » est dans la liste affichée à http://www.ouvaton.coop/spip.php?article136

Donc, concrètement, si je place un fichier .php à la racine de mon site, par exemple, que j’y met ceci et que je le charge :

if (!extension_loaded(‹ pdo_mysql ›)) {
dl(‹ pdo_mysql. › . PHP_SHLIB_SUFFIX);
}

ça pourrait faire l’affaire ?

Dans la doc de PHP, je viens de lire ceci à propos de « dl » :

« Cette fonction a été supprimée du SAPI en PHP 5.3 »

Est-ce que ça veut dire qu’on ne peut plus l’utiliser si on est comme moi passé sur le « node1-6 » (et qu’on utilise donc PHP 5.3+) ?

Cordialement.

Stefan

[quote=stefan_d]Dans la doc de PHP, je viens de lire ceci à propos de “dl” :

“Cette fonction a été supprimée du SAPI en PHP 5.3”

Est-ce que ça veut dire qu’on ne peut plus l’utiliser si on est comme moi passé sur le “node1-6” (et qu’on utilise donc PHP 5.3+) ?[/quote]

Zut, encore cette histoire de node1-6! Comme je n’ai rien sur node1-6, je ne sais pas trop ce qu’il en est. En fait, il faudrait tester si pdo_mysql est déjà chargé par défaut (non d’après ce que tu disais), et si ce n’est pas le cas si elle est installée et s’il est possible de la charger avec la même commande. Et ça demanderait bien sûr de corriger la doc de la page citée pour inclure les propriétés de la plate-forme node1-6.

Pour la première partie, si tu ne sais pas comment faire, tu peux éventuellement t’adresser à l’assistance – ou essayer avec un script du genre:

[code]<?php
function ScanDirectory($Directory){
$MyDirectory = opendir($Directory) or die(‘Erreur’);
while($Entry = @readdir($MyDirectory)) {
if(is_dir($Directory.’/’.$Entry)&& $Entry != ‘.’ && $Entry != ‘…’) {
echo ‘

    ’.$Directory;
    ScanDirectory($Directory.’/’.$Entry);
    echo ‘
’;
}
else {
echo ‘
  • ’.$Entry.’
  • ’;
    }
    }
    closedir($MyDirectory);
    }

    echo(“Répertoires d’extensions
    ”);
    ScanDirectory(’/usr/local/lib/php’);
    ?>[/code]
    Ensuite, pour la charger, il faudrait tester dl() quand même, ou là aussi poser la question à l’assistance…

    Coop,
    Greg

    [quote=greg]

    [quote=stefan_d]Dans la doc de PHP, je viens de lire ceci à propos de “dl” :

    “Cette fonction a été supprimée du SAPI en PHP 5.3”

    Est-ce que ça veut dire qu’on ne peut plus l’utiliser si on est comme moi passé sur le “node1-6” (et qu’on utilise donc PHP 5.3+) ?[/quote]

    Zut, encore cette histoire de node1-6! Comme je n’ai rien sur node1-6, je ne sais pas trop ce qu’il en est. En fait, il faudrait tester si pdo_mysql est déjà chargé par défaut (non d’après ce que tu disais), et si ce n’est pas le cas si elle est installée et s’il est possible de la charger avec la même commande. Et ça demanderait bien sûr de corriger la doc de la page citée pour inclure les propriétés de la plate-forme node1-6.

    Pour la première partie, si tu ne sais pas comment faire, tu peux éventuellement t’adresser à l’assistance – ou essayer avec un script du genre:
    …]
    Ensuite, pour la charger, il faudrait tester dl() quand même, ou là aussi poser la question à l’assistance…

    Coop,
    Greg[/quote]

    Merci, la première partie marche bien, mais si je charge les deux versions du script “dl()” que j’ai faites d’après le modèles sur les pages d’Ouvaton (voir dans mon post plus haut), je ne reçoit qu’une page blanche - ni messages d’erreur, ni rien - mais si je rescanne ensuite, pdo_mysql n’est toujours pas activé.

    Je conclue donc que la fonction ne marche plus, dans cette version et la doc officielle conseille :

    5.3.0 : dl() is now disabled in some SAPI’s due to stability issues. The only SAPI’s that allow dl() are: CLI, CGI and Embed. Use the Extension Loading Directives instead.

    …c’est qui, d’après ce qu’en j’en comprends en tant que novice en la matière, veut dire intervenir directement sur le php.ini, auquel je n’aurais pas accès.

    Je vais donc m’adresser à l’assistance, pour savoir si je peux modifier la configuration pour mes dossiers individuellement (il y aurait la fonction “set”, mais il faut l’insérer dans chaque page ou script PHP qu’on veut executer, d’après ce que j’en ai compris).

    Coridalement

    Stefan

    OK. Le plus simple serait que cette extension soit chargée d’office, il me semble…

    Coop,
    Greg

    : )

    Bonjour,

    Je reviens à la charge avec drupal…
    J’essaie en vain d’installer la v7 et je rencontre le même problème d’accès à la base de données (sans avoir rien modifié nulle part initialement).
    A la lecture des docs de drupal d’une part et d’ouvaton d’autre part, ma question est : faut-il finalement créer la base avant d’installer ou pas ? :confused:

    Merci pour vos réponses

    Véronique

    Petite précision…

    après avoir modifié le htaccess en y ajoutant

    Ajouts specifiques pour ouvaton

    AddHandler application/x-suexec-php4 .php3
    AddHandler application/x-suexec-php5 .php

    SecFilterEngine Off

    j’obtiens toujours
    "Impossible de sélectionner votre base de données sur le serveur MySQL, ce qui signifie que le nom d’utilisateur et le mot de passe sont bons, mais qu’il y a un problème pour accéder à vos données. MySQL a répondu : Access denied for user ‘01629_truc’@’%’ to database ‘01629_site’.
    Le nom de la base de données est-il le bon ?
    Etes-vous sûr que la base de données existe ?
    Le nom d’utilisateur fourni a-t-il la permission de lire les données ?"

    Alors que j’ai bien mis “mysql1-vip” pour le serveur de base de données…

    Bien sûr! Sur la plate-forme d’Ouvaton, la base de données se crée dans ouvadmin, c’est donc une étape à faire avant l’installation de Drupal.

    [quote]après avoir modifié le htaccess en y ajoutant

    Ajouts specifiques pour ouvaton

    AddHandler application/x-suexec-php4 .php3
    AddHandler application/x-suexec-php5 .php[/quote]

    Ces ajouts ne sont valables que si tu es sur le cluster. Je crois que node1-5 et node1-6 ont tous deux en PHP 5.3 par défaut.

    [quote]j’obtiens toujours
    "Impossible de sélectionner votre base de données sur le serveur MySQL[/quote]

    Il faut vérifier le nom de la base, l’identifiant et le mot de passe. Tu peux faire cela par exemple en te connectant à la base par phpMyAdmin: https://phpmyadmin.ocsa-data.net/ (sélectionne le bon serveur, mysql1-vip, d’après ce que tu dis). Si tu arrives à te connecter et voir ta base, c’est que tu as les droits de créer les tables. Utilise alors les mêmes indications (nom d’utilisateur et mot de passe que tu as indiqués, et nom de la base que tu vois dans la barre de gauche une fois la connexion faite) pour l’installation de Drupal – en précisant bien que tu utilises une base MySQL, je crois qu’on doit le choisir dans un des premiers écrans.

    Coop,
    Greg

    Merci Greg.

    Comme je suis une “ancienne”, je pense que je suis toujours sur le cluster (enfin, ce qui existait déjà en 2001 puisque je n’ai jamais rien changé).

    J’ai vérifié par ton lien : je ne vois pas ma base… alors qu’elle existe et que je la vois si j’y accède en phpmyadmin à partir de mon panel… :confused:
    Est-ce que je peux ajouter les données drugpal à une base existante (qui me sert pour un wordpress et que je vois effectivement) en changeant le préfixe ? Est-ce malin ou une mauvaise idée ?

    Bien cordialement
    Véro

    Bien sûr! Si tu as déjà une base, tu peux l’utiliser pour plusieurs CMS. Et effectivement, en général c’est le préfixe qui te permet de reconnaître facilement à quel CMS telle table appartient.

    Ceci dit, l’histoire de la base qui n’apparaît pas me semble bizarre… Tu peux éventuellement contacter l’assistance par ton panel pour qu’ils y jettent un coup d’œil.

    Coop,
    Greg

    Merci Greg,
    Après tentative, ça ne marchait pas mieux en indiquant le nom de la base wordpress (avec un autre préfixe).
    Le problème ne vient donc pas du statut de la base mais de drupal qui ne parvient pas à l’identifier correctement.

    Je suis finalement repassé à la version 6.24 (avec drupal 7, j’avais le message “Fatal error: Call to undefined function hash() in /space/www/gl-ouv/0/4/0411032036433801/web/twi-terre.net/www.twi-terre.net/html/drupal-7.12/includes/bootstrap.inc on line 811”)

    J’ai lu quelque part qu’on pouvait modifier le fichier settings pour y mettre directement les paramètres d’accès à la BdD.
    Je l’ai fait (avec la base de données wp en modifiant le préfixe)… et ça marche ! :slight_smile:

    Donc, je récapitule ce que j’ai fait pour mettre en place drupal 6 si ça peut servir à quelqu’un :

    1. modifier le .htacces et ajouter

    sur ouvaton

    AddHandler application/x-suexec-php5 .php
    SecFilterEngine Off

    1. copier le fichier "/sites/defaults/default.settings.php"
      nommer la copie "settings.php"
      la chmoder en 777 si besoin
      renseigner avec les bons paramètres les lignes 91 et 92
      ($db_url = ‘mysql://username:password@localhost/databasename’;
      $db_prefix=’’:wink:


    username:password sont les noms et mots de passe de l’utilisateur de la base de données ;
    localhost est dans mon cas "mysql1-vip"
    databasename est le nom de la base de données que j’ai utilisée
    j’ai précisé db_prefix=‘dd_new_’ parce que j’ai greffé ce nouveau cms sur une base qui abritait déjà un wordpress (préfixe wp_)

    1. j’ai suivi la procédure d’installation en mlettant exactement les mêmes données dans les différents champs (mais rien dans la ligne demandant d’indiquer un port spécifique).

    2. J’ai été me faire un bon café pour fêter cette victoire ! :slight_smile:

    Coopérativement,
    Véro

    Merci pour ces infos!

    J’ai du coup essayé aussi d’installer Drupal 7 sur le cluster pour voir tous les messages d’erreur: il m’a fallu activer le module php-hash (comme l’indique le message d’erreur); je l’ai fait grâce à ça: http://ouvaton.coop/Quelles-extensions-sont . Mais j’ai eu ensuite le message suivant:

    Et le phpinfo() du cluster, avec PHP5, nous donne une version 5.2.1 – donc trop vieille pour Drupal 7. Il faut soit passer à la version 6 comme tu l’as fait, soit migrer vers node1-6.

    Coop,
    Greg

    Bonjour, je poursuis ce fil, vu que ça concerne le même sujet. J’ai voulu installer Drupal 7 dans sa version Acquia Drupal (procédure ici : http://drupalfr.org/node/6171))
    Effectivement, il faut pour cela avoir une version récente de PHP (supérieur à 5.2.4). Donc, comme j’étais sur le cluster, j’ai migré hors du cluster pour cela.
    Ca a marché. Mais ensuite, le niveau de sécurité de SQL est monté, donc il a fallut changer mon mot de passe parce que l’ancien mot de passe n’était plus assez sécurisé. J’ai donc généré un nouveau mot de passe dans PHPmyadmin. Mais ensuite… impossible de se reconnecter sur la base de données (à distance ou directement via Php My Admin). J’ai envoyé un ticket aux admins, mais je n’ai pour l’instant pas de réponse (depuis 3 jours). Y a-t-il une autre procédure à suivre ?
    Merci.

    À vue de nez, je pense que le changement dans phpMyAdmin ne devrait pas être possible. C’est plutôt sur le panel qu’on peut changer les mots de passe des bases de données, non?

    Une fois que tu arrives à te connecter par phpMyAdmin et que tu vois les tables de Drupal, c’est OK. Il faut donc aller dans le fichier de configuration (en général: /sites/default/settings.php) et modifier le mot de passe pour qu’il corresponde à ton nouveau mot de passe.

    Coop,
    Greg

    Merci pour la réponse rapide. En fait, si je mets un mot de passe standard, j’accède à ma base. Mais lorsque je génère un mot de passe en hachage sql 4.1+ ça ne marche plus.
    Avec un mot de passe standard, j’obtiens le message suivant :
    Failed to connect to your database server. The server reports the following message: SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file.

    Mais avec le mot de passe 4.1+ je n’arrive à rien du tout (pas de connexion sous PHPmyadmin.)

    Mmh… Je ne connais pas assez toutes ces choses. C’est effectivement par les admins qu’il faut passer. S’ils n’ont pas encore répondu, relance-les!

    Si d’autres sur ce forum savent ce qu’on peut faire dans ce genre de situation, merci de vous manifester :wink:

    Coop,
    Greg

    Pour clore le fil, j’en ai parlé à Jérôme il y a quelques semaines et il a décidé de mettre à jour le système d’authentification interne à mysql (c’est transparent pour PHP).

    Après une petite surcharge passagère au niveau du support, tout roule avec le nouveau système d’authentification mysql et Drupal 7 peut maintenant fonctionner sans problème.

    :slight_smile:

    Parfaitement exact, tout marche parfaitement bien. Le système SQL a été mis à jour. Les admins ont fait du beau travail. Merci.

    J’essaie de faire un install de Drupal 7 en multisites.
    Pour chaque site (en sous-dossier), il est demandé de faire un redirection manuelle dans le .htaccess. Ce que j’ai fais. Mais la doc dit ensuite : redémarrer apache pour que le fichier soit pris en compte.
    Comment je peux “redémarrer” l’apache de Ouvaton (du serveur, pas en local) ??
    Pour l’instant ma redirection ne marche pas, je tombe sur une erreur internal serveur error 500.
    Merci.