2014-10-28 4 views
5

Diciamo che il mio server ha 10 indirizzi IP.Se il mio server ha più indirizzi IP, come posso eseguire uno script usando ciascuno degli indirizzi IP?

Mi piacerebbe eseguire lo stesso script PHP 10 volte, ma ogni volta uso uno diverso degli indirizzi IP. Lo script PHP avrebbe accesso a Internet.

È possibile qualcosa del genere? (utilizzando un IP diverso ogni volta)

In tal caso, puoi indicarmi la direzione giusta per poterlo fare?

Grazie.

+0

La risposta si riduce a - come fa il vostro server "Get" quei 10 indirizzi IP? Questo dovrebbe indirizzarti nella giusta direzione. –

risposta

4

È possibile scegliere quale interfaccia si associa a:

$options = array(
    'socket' => array(
     'bindto' => '192.168.0.12:0', 
    ), 
); 

$context = stream_context_create($options); 

/* Sends an http request to www.example.com through local interface 192.168.0.12:0 */ 
$fp = fopen('http://www.example.com', 'r', false, $context); 
fpassthru($fp); 
fclose($fp); 

http://php.net/manual/en/function.stream-context-create.php

+0

Sei fantastico. Grazie! –

+0

Se non desidero modificare il codice o sto utilizzando un binario, come eseguire uno script dalla riga di comando selezionando un indirizzo IP specifico per le richieste in uscita? Voglio cambiare l'IP solo per quel comando o sessione shell –

+0

@MarcoMarsala, che dipende molto dal binario. Se il codice binario dispone di indirizzi IP codificati, non è possibile cambiarli. Se il binario consente di utilizzare un parametro della riga di comando per scegliere gli indirizzi IP, è possibile farlo. Dovrai controllare la documentazione del tuo file binario. –