Libvirt
PHP Manual

Examples

A few basic examples

Example #1 Libvirt Example

<?php
$uri
="qemu+tcp:///system";
$credentials=Array(VIR_CRED_AUTHNAME=>"fred",VIR_CRED_PASSPHRASE=>"fred");
echo (
"Connecting to libvirt (URI:$uri)\n");
$conn=libvirt_connect($uri,false,$credentials);
if (
$conn==false)
{
    echo (
"Libvirt last error: ".libvirt_get_last_error()."\n");
    exit;
}
else
{
    
$hostname=libvirt_get_hostname($conn);
    echo (
"hostname:$hostname\n");
    echo (
"Domain count: Active ".libvirt_get_active_domain_count($conn).",Inactive ".libvirt_get_inactive_domain_count($conn).", Total ".libvirt_get_domain_count($conn)."\n");
    
    
$domains=libvirt_list_domains($conn);
    foreach (
$domains as $dom)
    {
        echo (
"Name:\t".libvirt_domain_get_name($dom)."\n");
        echo(
"UUID:\t".libvirt_domain_get_uuid_string($dom)."\n");
        
$dominfo=libvirt_domain_get_info($dom);
        
print_r($dominfo);
    }
}
?>

The above example will output something similar to:

Connecting to libvirt (URI:qemu+tcp:///system)
hostname:kvmtest
Domain count: Active 2,Inactive 5, Total 7
Name:   zlobsd1
UUID:   16890be9-bcb0-ef35-3d43-c2553ea972ea
Array
(
    [maxMem] => 1048576
    [memory] => 524288
    [state] => 1
    [nrVirtCpu] => 2
    [cpuUsed] => 98718.23
)
Name:   node4
UUID:   25ab2490-7c4c-099f-b647-45ff8efa73f6
Array
(
    [maxMem] => 524288
    [memory] => 524288
    [state] => 1
    [nrVirtCpu] => 1
    [cpuUsed] => 2323601.51
)
Name:   test1
UUID:   355fcd8f-ca53-e5e7-5935-47382ba754a0
Array
(
    [maxMem] => 1053696
    [memory] => 1053696
    [state] => 5
    [nrVirtCpu] => 1
    [cpuUsed] => 0
)
....

Libvirt
PHP Manual