Allora, se fai con PHP dovresti comunque ricaricare la pagina per far partire lo script dopo la premuta sul pulsante, magari con lo script sulla stessa pagina e quindi col submit che richiama sempre la stessa, ovvero, costruisciti un form con un campo input di tipo "hidden" con un certo valore, dopodiché sullo script mette una condizione del tipo:
Codice PHP:
<form id='script' action='tuo/script.php' method='post' >
<
input type='hidden' name='attiva' value='attiva' id='attiva' />
<
button>Clicca</button>
</
form>
if(isset(
$_POST['attiva'])){
//Qui attiva lo script//

Altrimenti con javascript puoi fare il tutto senza che la pagina sia ricaricata con lo script su una pagina secondaria o sulla stessa, in questo esempio con jquery, ovviamente devi avere la chiamata jquery sulla pagina, quindi, sempre col solito form, tipo:

codice:
<form id='script' action='#' >
<input type='hidden' name='attiva' value='attiva' id='attiva' />
<button>Clicca</button>
</form>
<script type="text/javascript">
	$(document).ready(function() {
	$('#script').submit(function(){
    var querystring = $(this).serializeArray();
	$.post('tuo/script.php', querystring,  
    function(data) {
       $('#esegue_qui').html(data);
    });
      return false;
                 });
                 });
</script>
<div id='esegue_qui'>Qui verrà visualizzato il risultato</div>
Nel caso fosse soltanto un pulsante, senza che ci sia opzioni forse può convenire fare un semplice load senza form, tipo:
codice:
<script type="text/javascript">
	$(document).ready(function() {
	$("#pulsante").click(function() {
    $('#esegue_qui').load('tuo/script.php');
    return false;
});
});
</script>

<input type='button' id='pulsante' value='submit' />
<div id='esegue_qui'>Qui verrà visualizzato il risultato</div>
Spero ti sia utile, comunque fai attenzione non l'ho testato, lo presento come uno spunto.