Quand on développe des sites WordPress ou qu’on en entretient une tripotée, on est souvent amené à utiliser des plugins comme Backupbuddy, Duplicator ou autre.
Intérêt ? Dupliquer, sauvegarder, installer facilement le site ailleurs ou sous un autre nom quand il s’agit d’un modèle (voir Comment migrer facilement ou réinstaller un site WordPress ).
Chez certains hébergeurs, et surtout depuis le passage à Php7, cela risque de ne pas marcher, avec des erreurs bizarres très peu documentées.
Exemple concret avec une erreur d’installation d’un site tout simple, développé chez un hébergeur A, au moment où on veut l’installer en production chez l’hébergeur B:
RROR #329723: Unexpected server response from AJAX. See Status Log for more details. Response: `error`, HTTP Status: `500`, Status Text: `Internal Server Error`, Response Text: `<script type= »text/javascript »>pb_status_append(« Jan 18, 2018 2:14:17 pm 0.01 2.15 error —– FATAL ERROR —– A fatal PHP error was encountered: type => 1; message => Uncaught Error: Call to undefined function mysql_connect() in /home/…/public_html/importbuddy/classes/wp-db.php:1530
Pour vous éviter de chercher pendant des heures, sachez chers amis que le problème vient de la manière dont PHP se connecte à MySQL.
En gros, il y a 3 API qui permettent la connexion de PHP à MySQL: mysql, mysqli et PDO (voir http://php.net/manual/fr/mysqlinfo.api.choosing.php ).
Très souvent, les choses comme Backupbuddy ou Duplicator ou autres fonctionnent avec mysqli.
Or, certains hébergeurs (notamment pour des raisons de sécurité), n’activent plus par défaut l’extension mysqli (et zip aussi).
Donc, rien ne marche pour Backupbuddy, Duplicator et autres.
Pas de panique, via CPanel, vous pouvez activer mysqli sans problème.
Et ensuite tout fonctionnera comme sur des roulettes.




Laisser un commentaire