VM kann nicht von PHP gestartet werden

993
Ankit

Von einer PHP-Seite aus versuche ich, Virtual Machine mit dem Virsh-Tool auf dem KVM-Hypervisor zu starten, aber ich erhalte diesen Fehler.

error: Failed to connect socket to '@/var/www/.libvirt/libvirt-sock': Connection refused error: failed to connect to the hypervisor. 

Bitte schlagen Sie etwas Arbeit vor. Ist dies möglich, ohne dem www-data-Benutzer das Root-Privileg zu geben?

Vielen Dank

0
Ich habe die Antwort gefunden. Verwenden Sie anstelle der PHP-Funktionen wie exec () oder shell_exec () die libvirt-php-API http://libvirt.org/php/api-reference.html Ankit vor 8 Jahren 0

1 Antwort auf die Frage

0
Ankit

Erster Weg

PHP-Code

<?php $output=shell_exec("virsh -c qemu:///system start vmname 2>&1"); echo "<pre>$output</pre>"; ?>

Wenn Sie diesen Befehl im Terminal in Ubuntu 12.04 ausführen, können Sie dies auch für andere Varianten tun.

sudo chown www-data /var/run/libvirt/libvirt-sock

Zusätzlich können Sie verwenden

sudo visudo www-data ALL = NOPASSWD: /usr/bin/virsh

Zweiter Weg

Verwenden Sie libvirt-php API, um die VM zu starten. Um die VM zu starten, verwenden Sie die libvirt_domain_createFunktion. Weitere Informationen finden Sie unter http://libvirt.org/php/api-reference.html#libvirt_domain_create