shell_exec not executing code - returns 'cmd'

A

Anonymous

Guest
Trying to get shell_exec() to work inside Firefox.
There is something I'm missing or don't just get!!

Any help in fixing this is greatly appreciated!!

Process:

# I am using AJAX to call xxx.php(pass 1) which creates a select box.
# Select file and use AJAX to call xxx.php(pass 2)
# If file has extension ".sql.gz" use the shell_exec() function to unzip file
# When file is unzipped use the shell_exec() function to restore the MySql database file.

Frontend code:

Code:
 $(document).ready(function(){
        $('#selbox').on('change',function(){
            var choice= $("#selbox option:selected").text();
            var verify=confirm("Restore - "+choice+"?");
            if (verify) {
                $.ajax({
                    type: "POST",
                    url: "pizselectdb2.php",
                    data: {"pass":2, "file":choice},
                    dataType: "text"
                })               
                
                .done(function (result) {
                    alert(result);
	                location.href="PizziFrontEnd.php";
                });                                             
            }    // verify
            else {
                location.href="PizziFrontEnd.php"
            }

        }); // change
    });  //ready

xxx.php code:

Code:
elseif($_POST['pass']==2) {
    
    $ext = strstr($filetosav, ".");
  
    if($ext == ".sql.gz") {
        $zip="unzip";
    }    
    elseif ($ext == "sql") {
        $zip="no-unzip";
    }
    
     if($zip == "unzip") {
         $cmd="gunzip ".$dir."/".$filetosav;
         $x=shell_exec($cmd);
     }

Problem: shell_exec() function will not execute the command!

File directory ownership is www-data:rick as are files within.
There are no /var/log/apache2 error.log entries for this.


Output of Alert(result):

shellProblem.png
 
Thanks for the reply.

hyper said:
Is there any reason for not using the built in functions?

Do you really need to use jQuery for this?

I need the html doc to show a select box and AJAX to get to the server to get the file and unzip it and update the MySql database. I do not know anything about PHP Zip stuff shown in the manual.

I'm assuming the PHP zip stuff coding will do all of this?????

HOWEVER, my question is still why doesn't exec() or shell_exec() work here?? I have a companion script that backs up these files using exec() and it works fine.
 
Can you post the entire xxx.php file, so we can see what's going on?
 
Thanks to help from users I discovered PHP gzip functions which work just fine.

However, I tried out:
Code:
    $cmd="mysql -uxxxx -pxxxx < ".$filetosav;
    
    exec($cmd);

It works just fine.
 
Back
Top