restaurer une archive en local

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] restaurer une archive en local

    Bonjour,

    depuis ce matin, je galère pour restaurer un backup en local... j'utilise une sauvegarde faite avec Akeeba et kickstart pour la restaurer. Je copie la sauvegarde, kickstart et le fichier langue dans le répertoire htdocs du répertoire de Xampp que j'ai installé auparavant. Je lance la restauration, une fois terminée si je lance le site partie publique j'obtiens un flot d'erreurs

    params= new JRegistry(); $this->params->loadString($plugin->params, 'JSON'); $this->_cacheEnabled = $this->params->get('cache_enabled'); if ($this->_cacheEnabled === null) $this->_cacheEnabled == 1; $this->_autoflush = $this->params->get('autoFlush'); if ($this->_autoflush === null) $this->_autoflush = 1; $this->_autoflush3rdParty = $this->params->get('autoFlush-ThirdParty'); if ($this->_autoflush3rdParty === null) $this->_autoflush3rdParty = 1; $this->_autoflushClientSide = $this->params->get('autoFlush-ClientSide'); if ($this->_autoflushClientSide === null) $this->_autoflushClientSide = 0; } /** * Heartbeat cache checking function. Will also monitor $_GET for the jSGCache parameter * (pressing the purge cache button in admin) * * * Access public * @return null */ public function onAfterInitialise() { if (!$this->_cacheEnabled || $this->_isBlacklisted($this->_applicationPath)) { JResponse::setHeader('X-Cache-Enabled','False',true); return; } if ($this->_cacheEnabled) { JResponse::setHeader('X-Cache-Enabled','True',true); } //Init the application url $this->_applicationPath = str_replace(array('administrator/index.php','index.php'),'',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME'])); //Check for any admin action and proceed to flushMonitor and 3rd party plugins if ( isset($_POST['task']) || isset($_GET['task']) || isset($_GET['cart_virtuemart_product_id'])) { $this->_flushMonitor(); if ($this->_autoflush3rdParty) $this->_monitorThirdPartyPlugins(); } //Check if we have a logged in user and enable cache bypass cookie 'task' => string 'user.login' $user = JFactory::getUser(); if (!$user->guest || (isset($_POST['task']) && preg_match('/login/i', $_POST['task']))) { $_POST[JSession::getFormToken()] = 1; //Force the correct token, since the login box on the page is cached with the 1st visitors' token //Enable the cache bypass for logged users by setting a cache bypass cookie setcookie('jSGCacheBypass',1,time() + 6000,'/'); } if ($user->guest || (isset($_POST['task']) && $_POST['task'] == 'user.logout')) { //Remove the bypass cookie if not a logged user if (isset($_COOKIE['jSGCacheBypass'])) setcookie('jSGCacheBypass',0, time() - 3600,'/'); } // Handle purge button press when get has jSGCache=purge, but only in admin with a logged user if(isset($_GET['jSGCache']) && $_GET['jSGCache'] == 'purge' && JFactory::getApplication()->isAdmin() && !$user->guest ) $this->_purgeCache(true); } /** * Admin panel icon display * * Access public * @param string $context * @return array */ public function onGetIcons( $context ) { return array(array( 'link'=>'?jSGCache=purge', 'image'=>'header/icon-48-purge.png', 'text'=>JText::_('Purge jSGCache'), 'id'=>'jSGCache' )); } /** * Calls the cache server to purge the cache * * Access public * @param string|bool $message Message to be displayed if purge is successful. If this param is false no output would be done * @return null */ private function _purgeCache( $message = true ) { $purgeRequest = $this->_applicationPath . '(.*)'; // Check if caching server is varnish or nginx. $sgcache_ip = '/etc/sgcache_ip'; $hostname = $_SERVER['SERVER_ADDR']; $purge_method = "PURGE"; if (file_exists($sgcache_ip)) { $hostname = trim( file_get_contents( $sgcache_ip, true ) ); $purge_method = "BAN"; } $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); if(!$cacheServerSocket) { JError::raise(E_ERROR,500,JText::_('Connection to cache server failed!')); JError::raise(E_ERROR,500,JText::_($errstr ($errno))); return; } $request = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; if (preg_match('/^www\./',$_SERVER['SERVER_NAME'])) { $domain_no_www = preg_replace('/^www\./', '', $_SERVER['SERVER_NAME']); $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$domain_no_www}\r\nConnection: Close\r\n\r\n"; } else $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: www.{$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; fwrite($cacheServerSocket, $request); $response = fgets($cacheServerSocket); fclose($cacheServerSocket); $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); fwrite($cacheServerSocket, $request2); fclose($cacheServerSocket); if($message !== false) { if(preg_match('/200/',$response)) { if ($message === true) JFactory::getApplication()->enqueueMessage(JText::_('SG Cache Successfully Purged!')); else JFactory::getApplication()->enqueueMessage(JText::_( $message )); } else { JError::raise(E_NOTICE,501, JText::_('SG Cache: Purge was not successful!')); JError::raise(E_NOTICE,501, jText::_('Error: ' . $response)); } } } /** * Check if url is in caching blacklist * * @param string $applicationPath * * @return bool */ private function _isBlacklisted($applicationPath) { $blacklistArray = explode("\n",$this->params->get('blacklist')); $blacklistRegexArray = array(); $indexIsBlacklisted = false; foreach($blacklistArray as $key=>$row) { $row = trim($row); if ($row != '/' && $quoted = preg_quote($row,'/')) $blacklistRegexArray[$key] = $quoted; if ($row == '/') $indexIsBlacklisted = true; } if ($indexIsBlacklisted && $_SERVER['REQUEST_URI'] == $applicationPath) return true; if (empty($blacklistRegexArray)) return false; $blacklistRegex = '/('.implode('|',$blacklistRegexArray) . ')/i'; return preg_match($blacklistRegex, $_SERVER['REQUEST_URI']); } /** * 3rd party plugin monitor * * Access private * @return null */ private function _monitorThirdPartyPlugins() { // Kunena & K2 if ($this->params->get('autoFlush-ThirdParty') == 1 && isset($_POST['option']) && ($_POST['option']=='com_k2' || $_POST['option' ]== 'com_kunena')) { $this->_purgeCache(false); } // VirtueMart if ( (isset($_POST['option']) && $_POST['option'] == 'com_virtuemart') || ( isset($_GET['option']) && $_GET['option'] == 'com_virtuemart' ) || isset($_GET['cart_virtuemart_product_id']) ) { if($this->params->get('autoFlush-ThirdParty') == 1) $this->_purgeCache(false); } } /** * Action monitor * * Access private * @return null */ private function _flushMonitor() { $user = JFactory::getUser(); if ((!JFactory::getApplication()->isAdmin() && !$this->_autoflushClientSide) || $user->guest) return; $autoflush = $this->params->get('autoFlush'); if ($autoflush === null) $autoflush = 1; if (isset($_POST['task']) && $_POST['task'] && !in_array($_POST['task'],self::$_ignoreTasks) && $autoflush == 1) $this->_purgeCache(false); } }


    Si j'essaye d'aller dans la partie administration, il refuse tous les mots de passe et ne me permet pas d'y accéder.

    J'ai essayé en utilisant un autre serveur local Wamp, qui refuse de s'installer en cause le manque d'un dll et pourtant j'ai installé la version 3.02 avec les compléments VC... je suis obligé d'installé la version3 car mon site est en PHP 7.2
    Je tourne un peu en rond.
    merci d'avance.

    Dernière édition par jmpo à 16/01/2018, 12h21

  • #2
    Bonjour

    Cela me semble être un conflit de version php.

    Avant de lancer la restauration de ton site crée un petit script php pour faire un phpinfo() afin de t'assurer que la version est bien correcte.

    Juste une piste...

    Bonne soirée
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Merci, mais je ne sais pas comment faire ce petit script désolé...

      Commentaire


      • #4
        Salut

        Sais-tu utiliser Google ? ;-)

        Désolé mais ... oui parfois il faut chercher un peu soi-même (je t'ai répondu en étant dans le train, occupé à répondre depuis un smartphone), il n'est jamais évident d'être complet mais j'avais pris soin de donner assez d'infos je pense.

        Donc ==> Google ==> "Créer un fichier phpinfo" et hop : https://gestion.rapide.net/knowledge...r-PHPINFO.html

        Bonne soirée
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Ok merci... j’ai été trop vite pour répondre, car j’avais trouvé sur le net... merci, j’essaye demain, car je ne suis plus sur mon ordinateur. Bonne soirée

          Commentaire


          • #6
            J’avais effectivement des versions PHP différentes, j’ai remédié au problème et malgré cela j’ai toujours les mêmes messages d’erreur... et je ne sais tjs pas aller dans l’administration de mon site local?

            Commentaire


            • #7
              Toujours la grosse galère... j'ai refait une nouvelle sauvegarde avec Akeeba, j'ai bien vérifié la version PHP utilisée... 7.2, j'ai ensuite installé Xampp pour PHP 7, j'ai vérifié avec phpinfo... c'était correct. J'ai ensuite lancé kickstart avec le backup... une fois terminé j'ai tjs les messages d'erreur et je n'ai pas accès à mon administration.
              J'ai fait un autre essai, avec une installation manuelle de l'archive... après avoir réinstallé Xampp, j'ai téléchargé par FTP les fichiers de mon site, créé manuellement une base de données avec importation de celle de mon site distant, utilisé MoovJla pour modifier la configuration... et TOUJOURS les mêmes erreurs... bizarre
              Merci, si vous avez une idée.

              Commentaire


              • #8
                Envoyé par jmpo
                Toujours la grosse galère... j'ai refait une nouvelle sauvegarde avec Akeeba, j'ai bien vérifié la version PHP utilisée... 7.2, j'ai ensuite installé Xampp pour PHP 7, j'ai vérifié avec phpinfo... c'était correct. J'ai ensuite lancé kickstart avec le backup... une fois terminé j'ai tjs les messages d'erreur et je n'ai pas accès à mon administration.
                J'ai fait un autre essai, avec une installation manuelle de l'archive... après avoir réinstallé Xampp, j'ai téléchargé par FTP les fichiers de mon site, créé manuellement une base de données avec importation de celle de mon site distant, utilisé MoovJla pour modifier la configuration... et TOUJOURS les mêmes erreurs... bizarre
                Merci, si vous avez une idée.
                Bonjour

                As-tu un fichier .htacces à la racine du site ? Si oui renomme le temporairement. Peut-être ce dernier active-t-il une version précise de php que tu n'aurais pas en local

                Bonne soirée
                Christophe (cavo789)
                Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                Commentaire


                • #9
                  bonjour,

                  j'avais un fichier .htacces à la racine du site, je viens de le renommer, malheureusement j'ai toujours le même problème...
                  Bonne journée.

                  Commentaire


                  • #10
                    bonjour,

                    je n'ai pas bcp avancé, sauf que l'administration a bien voulu accepter un utilisateur et un mot de passe, mais après l'acceptation de ceux-ci... message d'erreur

                    Pour info, la version de PHP sur mon site distant 7.027 et sur 7.010 sur mon site local

                    Une erreur s'est produite
                    0 Failed to start the session because headers have already been sent by "C:\wamp64\www\plugins\system\jSGCache\jSGCach e.ph p" at line 308.
                    Dernière édition par jmpo à 12/01/2018, 11h06

                    Commentaire


                    • #11
                      Enfin résolu en désactivant le plug-in jSGCache avant de faire la sauvegarde.

                      Commentaire


                      • #12
                        Cela voudrait dire que cette extension place ses fichiers de cache ailleurs que dans les dossiers "cache" dont <Akeeba backup exclut par défaut le contenu.
                        Il faudrait donc trouver le dossier concerné et en exclure le contenu dans le paramétrage d'Akeeba backup
                        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                        Commentaire


                        • #13
                          Merci, je vais voir si je trouve le répertoire en question.

                          Commentaire


                          • #14
                            Super que ce soit résolu.

                            Il s'agit d'un plugin spécifique à un hébergeur et il est donc probable qu'elle ne puisse fonctionner que chez l'hébergeur en question.

                            Il faudrait peut-être communiquer l'erreur à ces derniers pour qu'ils puissent, au mieux, adapter le plugin.

                            Bonne soirée
                            Christophe (cavo789)
                            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                            Commentaire

                            Annonce

                            Réduire
                            Aucune annonce pour le moment.

                            Partenaire de l'association

                            Réduire

                            Hébergeur Web PlanetHoster
                            Travaille ...
                            X