proxmoxVE
v5.3
這個PHP 8+ Proxmox庫允許通過API與您的Proxmox PVE服務器和群集進行交互。
您會發現任何錯誤,錯別字,或者發現某些事情無法正常工作,請打開問題。我將嘗試盡快發布修復程序。
推薦的安裝使用作曲家。如果您沒有作曲家,您還在等什麼?
在項目的根源中,執行以下操作:
$ composer require mrkampf/proxmox-ve或將其添加到您的composer.json文件:
{
"require" : {
"mrkampf/proxmox-ve" : " ^0.4.4 "
}
}然後執行安裝:
$ composer install --no-dev <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
// Then simply pass your credentials when creating the API client object.
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false );
// Note: Use "pam" instead of "pve" if you're using Standard Linux PAM authentication.
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox API ;
// Then simply pass your credentials when creating the API client object.
$ proxmox = new API ( " hostname " , " USER@REALM!TOKENID " , " aaaaaaaaa-bbb-cccc-dddd-ef0123456789 " , 8006 , false );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , true );
//Login
$ proxmox -> getApi ()-> login ();
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
$ customGuzzleHttpClient = new GuzzleHttp Client ();
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , false , $ customGuzzleHttpClient );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());| 警告:Array選項是在版本3.0之後不再支持的! |
|---|
<?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
/**
* Connect established (For version 3.0)
*
* authType and port defaults to 'pam' and '8006' but you can specify them like so
*
* !!! WARNING !!!
* This variant is after version 3.0 no longer supported
*
*/
$ credentials = [
' hostname ' => ' 127.0.0.1 ' ,
' username ' => ' root ' ,
' password ' => ' example ' ,
' authType ' => ' pam ' ,
' port ' => ' 8006 ' ,
];
// Then simply pass your credentials when creating the API client object.
$ proxmox = new PVE ( $ credentials );
//Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
//Read all lxc
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
//Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());