j'ai programmé un système de sauvegarde de MySQL pour mon CMS qui décharge toutes les données DB et de la structure dans un fichier sql gzip:la sauvegarde de base de données MySQL à la volée
$filename = DB_NAME.'_'.date('Y.m.d_H\hi_(s.'.round(microtime()*100,0).')').'.sql.gz';
exec('mysqldump --default-character-set=UTF8 --opt --compress --host='.DB_HOST.' --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' | gzip > '.DIR_BACKUP.$filename);
Il fonctionne très bien sur mon serveur de développement , mais lorsque j'essaie d'exécuter le même code sur mon serveur de production, le fichier n'est jamais créé. Est-ce un problème d'autorisation? Que dois-je configurer pour que cela fonctionne? Merci!
--- Il semble que le problème repose sur la fonction exec(). Où puis-je autoriser la permission de PHP pour exécuter cette fonction?
Essayez de lire le journal des erreurs du serveur Web. Vous pouvez voir une idée de pourquoi il a échoué. –
Etes-vous sûr d'avoir accès à mysqldump et gzip sur le serveur de production? – Anax
J'ai accès à mysqldump et à gzip. Ce à quoi je n'ai pas accès, c'est exec(). Comment puis-je activer cela? – andufo