Bonjour,
J'ai de manière aléatoire, débogage activé et rapport d'erreurs au maximum, plusieurs lignes "deprecated" avec LazyDbBackup pour J4, en PHP 8.2 (voir l'image).
Il me semble avoir pu provoquer une erreur fatale en PHP 8.3, sur Wampserver, mais je n'ai pas pu la reproduire.
De plus, lorsque cette série d'avertissement apparaît, qui semble correspondre aux infos de connexion à la base pour en extraire la liste des tables, il suffit de poursuivre pour que ça ne s'affiche plus, même en forçant une nouvelle création de sauvegarde.
J'ai multiplié les tests sur divers sites en local et en ligne avant de pouvoir faire la copie d'écran, et les messages ne me permettent pas d'avoir la moindre idée de ce qui peut être déprécié, et donc de corriger le code.
Etant un avertissement, cela n'impacte pas les sauvegardes elles-mêmes.
Le code concerné est cette fonction dont je ne donne que le début :
et aussi pour la ligne 92
J'ai tenté de reproduire l'erreur fatale en PHP 8.3 sur des sites 4.4.1, 5.0.1 et 5.1.0 alpha1 en local, mais pas moyen. Pour une raison qui m'échappe, certaines pages mettent un temps fou à s'afficher.
Auriez-vous une idée de ce qui peut être en cause et de comment je pourrais corriger ?
Merci de vos conseils !
J'ai de manière aléatoire, débogage activé et rapport d'erreurs au maximum, plusieurs lignes "deprecated" avec LazyDbBackup pour J4, en PHP 8.2 (voir l'image).
Il me semble avoir pu provoquer une erreur fatale en PHP 8.3, sur Wampserver, mais je n'ai pas pu la reproduire.
De plus, lorsque cette série d'avertissement apparaît, qui semble correspondre aux infos de connexion à la base pour en extraire la liste des tables, il suffit de poursuivre pour que ça ne s'affiche plus, même en forçant une nouvelle création de sauvegarde.
J'ai multiplié les tests sur divers sites en local et en ligne avant de pouvoir faire la copie d'écran, et les messages ne me permettent pas d'avoir la moindre idée de ce qui peut être déprécié, et donc de corriger le code.
Etant un avertissement, cela n'impacte pas les sauvegardes elles-mêmes.
Le code concerné est cette fonction dont je ne donne que le début :
Code:
function _Retrieve($fp, $compress) { $value = ''; $this->host = $this->server; $this->driver='mysql'; if($this->host=='localhost'){ $this->host = '127.0.0.1'; } $this->dsn = $this->driver.':host='.$this->host.';dbname='.$this->database; if ($this->Connect($this->dsn,$this->username,$this->password)==false)
Code:
private function Connect($host,$username,$password) { try { $this->handler = new PDO($host, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); $value = true; } catch (PDOException $e) { $this->handler = null; $this->error[] = $e->getMessage(); return false; } return $value; }
Auriez-vous une idée de ce qui peut être en cause et de comment je pourrais corriger ?
Merci de vos conseils !
Commentaire