Défi : Automatisation de la génération de sites en exécutant deux fichiers *.sql (création de tables et remplissage d'enregistrements ) depuis un PHP application.
Solution :
Bien que l'exécution directe de scripts .sql en PHP présente des limites, l'appel de l'outil MySQL via PHP est une solution efficace.
Utilisation de shell_exec() :
Une approche consiste à utiliser shell_exec() pour exécuter des commandes MySQL.
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path; $output1 = shell_exec($command . '/site_db.sql"'); $output2 = shell_exec($command . '/site_structure.sql"');
Utilisation du format --option=value :
Pour améliorer la stabilité, utilisez le format --option=value et --execute ="SOURCE..." pour exécuter des fichiers :
$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' " . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}"; $output = shell_exec($command . '/shellexec.sql');
Supplémentaire Remarques :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!