1
我想使用代碼備份本地主機上的表。由xampp錯誤執行shell通過php
$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = '';
$dbname = 'snapmall';
$dbtable = 'tb_translation';
$dbpath = 'D:test/new/';
//mysqldump -u root -p snapmall ps_translation > D:/test/new/ps_translation.sql
$command = "mysqldump -u $dbuser -p $dbpass $dbname $dbtable > ".$dbpath.$dbtable.".sql";
shell_exec($command);
我對XAMPP的殼體試驗指揮它工作正常,但是當我被命令了shell_exec()運行它有一個結果的文件是空的。
結果是emty,但我嘗試:exec('ls -l 2>&1',$ output);的print_r($輸出);並收到消息:Array([0] =>'ls'不被識別爲內部或外部命令,[1] =>可操作的程序或批處理文件。) –
因此,您的PHP exec無法在shell上工作,您需要改變你的PATH變量並且能夠執行任何命令,當你這樣做的時候,它會起作用;) – k3rn3llp4n1c
我運行命令:mysqldump -u root -p leo_snapmall ps_translation> D:/www/prestashop/ps_translation.sql by cmd it工作發現但我的代碼不工作:exec('mysqldump -u root -p leo_snapmall ps_translation> D:/www/prestashop/ps_translation.sql 2> &1'); =>錯誤消息:'mysqldump'不被識別爲內部或外部命令, 可操作的程序或批處理文件 –