web-dev-qa-db-fra.com

"Le téléchargement du package de mise à jour a échoué." en essayant de passer à 3.6.2

Ma version actuelle est 3.6.0. Lorsque j'essayais de passer directement à la version 3.6.2, le message d'erreur suivant s'affiche toujours:

Le téléchargement du package de mise à jour a échoué.

J'ai effectué plusieurs fois la mise à niveau sur le même site, mais je n'ai jamais rencontré ce problème. J'ai vérifié le fichier configuration.php et le dossier/tmp est défini sur 0755. De plus, j'ai consulté le journal des erreurs, il n'y a aucune information concernant cet échec.

Quelle pourrait en être la cause et où puis-je obtenir un message d'erreur plus détaillé que simplement "Le téléchargement a échoué"? J'héberge ce site sur mon propre serveur virtuel.

4
shenkwen

Vous pouvez télécharger le package de mise à niveau Joomla et le placer dans le dossier tmp via FTP.

Ensuite, exécutez à nouveau l'installation. Ça va marcher.

5
Joomler

Assurez-vous que votre composant de mise à jour Joomla est mis à jour, vous devrez peut-être Clear Cache et Find Updates sous Extensions Gérer Mettre à jour .

Joomla Update Component Update

Si Akeeba Backup est installé, assurez-vous qu'il est également mis à jour, juste au cas où.

2
johanpw

Fichier /administrator/components/com_joomlaupdate/models/default.php

Rechercher cette chaîne:

if (!$result || ($result->code != 200 && $result->code != 310))

Ajouter de nouveaux codes:

if (!$result || ($result->code != 200 && $result->code != 310 && $result->code != 303 && $result->code != 302))

C'est tout.

(La même solution pour la nouvelle version 3.6.5)

1

J'ai eu le même problème en essayant de mettre à jour Joomla de 3.6.2 à 3.6.3. Dans un premier temps, j'ai téléchargé le fichier zip et j'ai pu exécuter la mise à jour de cette façon. Donc, pour tous ceux qui recherchent un moyen simple: il suffit de télécharger le fichier zip de mise à jour et de le faire de cette façon.

Quoi qu'il en soit, sur la seconde instance 3.6.2, j'ai finalement fini par corriger le code pour suivre les redirections. La mise à jour vers 3.6.3 a réussi! Et bien sûr, cela a écrasé mon code corrigé. :-))

Ce que j’ai fait est en fait de corriger la fonction JHttpTransportStream.request () dans le fichier libraries/joomla/http/transport/stream.php

#BNN DEBUG BEGIN
//      OLD CODE
//      return $this->getResponse($headers, $content);
//      NEW CODE
        $response = $this->getResponse($headers, $content);
        if($response->code==302 && $options['follow_location']==1) {
            //received HTTP/302 Redirect, find "Location:" header
            error_log('BNN DEBUG Location='.$response->headers['Location']);
            return $this->request($method, new JUri($response->headers['Location']), $data, $headers, $timeout, $userAgent);
        }
        return $response;
#BNN DEBUG END
1
Bjorn Nuyttens

J'ai fait un peu de débogage et il semble que le fichier en cours de téléchargement - Joomla_3.6.2-Stable-Update_Package.Zip est derrière une redirection. Sur la ligne 315 de com_joomlaupdate/models/default.php, j'ai:

// Download the package
$result = $http->get($url);

où j'obtiens $ résultat-> code = 302 mais aucun fichier n'est téléchargé. Il doit y avoir une erreur de vérification ici, mais je ne sais pas assez sur Joomla pour dire quoi. Est-ce que quelqu'un sait comment avoir cette requête get pour ensuite suivre la redirection et télécharger le fichier car je pense que ce serait le correct correct.

Je ne peux actuellement pas ajouter de commentaire ici, alors je l'ai écrit à la place.

0
Ben Trewern