[RESOLU] Erreur php lors de l'installation de la plaforme "claroline-connect"

Petit nouveau ! | 7 Messages

03 mai 2015, 13:50

Bonjour,

Je veux installer une plateforme "claroline-connect-4.12-min" sur un hébergement OVH mutualisé.
J'ai décompressé les fichiers et les ai copié sur mon hébergement, dès que je lance le fichier install.php, j'ai l'erreur suivante :

"Warning: Missing argument 2 for Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler::__construct(), called in /../../claroline-connect-4.12-min/vendor/claroline/web-installer/lib/Claroline/WebInstaller/Controller.php on line 37 and defined in /../../vendor/claroline/core-bundle/Claroline/CoreBundle/Library/Configuration/PlatformConfigurationHandler.php on line 93".
J'ai essayé avec une autre version j'ai la même erreur.

Voici ce que dit le fichier "Controller.php" de la ligne 29 à 38"
public function __construct(Container $container)
{
$this->container = $container;
$this->request = $this->container->getRequest();
$this->parameters = $this->container->getParameterBag();
$ds = DIRECTORY_SEPARATOR;
$configFile = $container->getAppDirectory() .
$ds . 'config' . $ds . 'platform_options.yml';
$this->configHandler = new PlatformConfigurationHandler($configFile);
}

Voici ce que dit le fichier "PlatformConfigurationHandler.php" de la ligne 93 à 98
public function __construct($configFile, $lockedConfigFile)
{
$this->configFile = $configFile;
$this->parameters = $this->mergeParameters();
$this->lockedParameters = $this->generateLockedParameters($lockedConfigFile);
}

Le forum Claroline-connect n'est pas encore en ligne, quelqu'un peut-il m'expliquer en quoi consiste l'erreur et comment la corriger ?

Tous mes remerciements d'avance.

Bien cordialement.

MichelleS

Avatar du membre
Mammouth du PHP | 1609 Messages

03 mai 2015, 14:21

Salut,

Le constructeur de PlatformConfigurationHandler est déclaré comme ceci et demande 2 paramètres, $configFile et $lockedConfigFile :
public function __construct($configFile, $lockedConfigFile)
Lors de l'instanciation de la class, le deuxième paramètre n'est pas fournis, d'où l'erreur Missing argument 2 :
$this->configHandler = new PlatformConfigurationHandler($configFile/*, $lockedConfigFile ??? */);
On ne peut pas deviner ce que doit être le deuxième paramètre sans connaitre l'api, toutefois, le paramètre s'appelant $lockedConfigFile, on peut supposer qu'il s'agit d'un fichier de configuration verrouillé... ce qui reste quand même très vague.

Cependant dans le constructeur on trouve cette ligne :
$this->lockedParameters = $this->generateLockedParameters($lockedConfigFile);
On peut donc imaginer que c'est un fichier généré (peut être une copie de sauvegarde du fichier de paramètres ?) et qu'il suffirait donc de fournir un chemin valide.

Le fichier de configuration étant {app_directory}/config/platform_options.yml tu peux toujours tenter de donner le chemin {app directory}/config/platform_options.locked.yml :
$configFile = $container->getAppDirectory() . $ds . 'config' . $ds . 'platform_options.yml';
$lockedConfigFile = $container->getAppDirectory() . $ds . 'config' . $ds . 'platform_options.locked.yml';
$this->configHandler = new PlatformConfigurationHandler($configFile, $lockedConfigFile);
T'auras plus l'erreur Missing argument 2 mais ça garanti pas du tout que tout va bien fonctionner derrière...
Développeur web depuis + de 20 ans

Petit nouveau ! | 7 Messages

03 mai 2015, 16:39

Salut,

Le constructeur de PlatformConfigurationHandler est déclaré comme ceci et demande 2 paramètres, $configFile et $lockedConfigFile :
public function __construct($configFile, $lockedConfigFile)
Lors de l'instanciation de la class, le deuxième paramètre n'est pas fournis, d'où l'erreur Missing argument 2 :
$this->configHandler = new PlatformConfigurationHandler($configFile/*, $lockedConfigFile ??? */);
On ne peut pas deviner ce que doit être le deuxième paramètre sans connaitre l'api, toutefois, le paramètre s'appelant $lockedConfigFile, on peut supposer qu'il s'agit d'un fichier de configuration verrouillé... ce qui reste quand même très vague.

Cependant dans le constructeur on trouve cette ligne :
$this->lockedParameters = $this->generateLockedParameters($lockedConfigFile);
On peut donc imaginer que c'est un fichier généré (peut être une copie de sauvegarde du fichier de paramètres ?) et qu'il suffirait donc de fournir un chemin valide.

Le fichier de configuration étant {app_directory}/config/platform_options.yml tu peux toujours tenter de donner le chemin {app directory}/config/platform_options.locked.yml :
$configFile = $container->getAppDirectory() . $ds . 'config' . $ds . 'platform_options.yml';
$lockedConfigFile = $container->getAppDirectory() . $ds . 'config' . $ds . 'platform_options.locked.yml';
$this->configHandler = new PlatformConfigurationHandler($configFile, $lockedConfigFile);
T'auras plus l'erreur Missing argument 2 mais ça garanti pas du tout que tout va bien fonctionner derrière...
Effectivement, je n'ai plus l'erreur, mais je reste bloquée sur la page qui me propose de choisir un langage, la liste est vide et je ne peux pas aller plus loin. J'ai trouvé une version plus ancienne, je vais essayer pour voir si j'ai plus de chance. Merci bien.

Petit nouveau ! | 7 Messages

03 mai 2015, 19:06

Re,

Je suis à nouveau bloquée avec la version 3.4 de claroline-connect.
Version de PHP : Votre configuration est correcte.
Configuration de PHP : La valeur du paramètre memory_limit devrait être supérieure ou égale à 256M dans votre php.ini
Le paramètre short_open_tag devrait être réglé à false dans votre php.ini.
Extensions de PHP : L'extension ffmpeg devrait être installée et activée.
Un accélérateur PHP (comme APC or XCache) devrait être installé et activé (hautement recommandé).
Permissions sur les fichiers : Votre configuration est correcte.
Je ne sais pas comment faire ces modifications. J'ai essayé de faire l'installation sans faire ces corrections. L'installation à démarrée et s'est bloquée avec cette erreur :
Parse error: syntax error, unexpected 'Icap' (T_STRING) in /home/accesinf/www/aic/claroline-connect-3.4.0/vendor/icap/portfolio-bundle/Icap/PortfolioBundle/Entity/Widget/FormationsWidget_origine.php on line 1
Le fichier "FormationsWidget_origine.php" semble correct :

Code : Tout sélectionner

<?php namespace Icap\PortfolioBundle\Entity\Widget; use Doctrine\Common\Collections\ArrayCollection;
Est ce que cela pourrait provenir du fait que je n'ai pas tenu compte des corrections à apporter ? Si tel est le cas, pouvez vous m'aider pour faire ces corrections ?
Ou bien, cela provient d'autre chose, avez-vous une idée ?

Merci encore pour l'aide que vous pourrez m'apporter.

Bien cordialement.

Avatar du membre
Mammouth du PHP | 1609 Messages

03 mai 2015, 19:27

Bizarre on dirait une erreur due à la version php, mais l'installeur dit que la version est correcte...
PHP doit être en version 5.3 ou supérieur.
phpversion ou phpinfo pour vérifier.
Développeur web depuis + de 20 ans

Invité
Invité n'ayant pas de compte PHPfrance

03 mai 2015, 20:33

Bizarre on dirait une erreur due à la version php, mais l'installeur dit que la version est correcte...
PHP doit être en version 5.3 ou supérieur.
phpversion ou phpinfo pour vérifier.
Oui, c'est bien c'est bien le cas :
Configuration File (php.ini) Path php5.4/etc
une autre idée ?

Avatar du membre
Mammouth du PHP | 1609 Messages

03 mai 2015, 20:57

Une idée, serait que lors de l'installation certaines opérations seraient faites en ligne de commande (avec un exec ou autre fonction d’exécution de commande) et que le php cli lui n'est pas en 5.3 ou supérieur.
Développeur web depuis + de 20 ans

Petit nouveau ! | 7 Messages

03 mai 2015, 21:40

Oui, je vais lâcher prise pour ce soir, j'en peux plus. Dire que cette installation doit se faire en 10 mn ! Loué soit les fois où cela marche du premier coup, ... Demain je vais appeler ovh pour voir avec eux, ce que je peux faire. J'ai aussi laissé un message sur le site de l'université Lyon1, ils ont une plateforme Claroline-Connect pour leurs Moocs.

Merci beaucoup pour le temps que vous avez consacré à m'aider.

Bien cordialement.

Petit nouveau ! | 7 Messages

03 mai 2015, 23:33

Hello,

Trop contente ! J'ai réessayé une dernière fois, l'installation de la première version 4.12-min et là miracle, l'installation se déroule parfaitement. Peut-être un problème de cache ?

Encore mercixxxxxxxxxx pour tout.