Zabbix PHP API library based on pyzabbix.
$api = phpzabbix\PHPZabbix::withDefaultClient('http://example.com/zabbix/api_jsonrpc.php');
$api->login('username', 'password');
$hosts = $api->host->get(['output' => ['hostid', 'name']]);
It's also possible to directly set the authorization token, either obtained earlier by logging in, or an API token:
$api = phpzabbix\PHPZabbix::withDefaultClient('http://example.com/zabbix/api_jsonrpc.php');
$api->authToken = 'abcdef123456';
$hosts = $api->host->get(['output' => ['hostid', 'name']]);
The following exceptions can be thrown:
-
phpzabbix\Exception\NotAuthorized
when trying to make an API call with an invalid or expired auth hash. -
phpzabbix\Exception\InvalidCredentials
when trying to login with invalid credentials. -
phpzabbix\JSONRPC\ErrorException
on other errors, such as invalid API calls
The PHPZabbix class does not know every API call, but just translates
$api->obj->method()
to 'obj.method'. The method call takes an array which
is passed as params.
Refer to the Zabbix API for more information about the Zabbix API itself.
This library should work with Zabbix 3.0 and higher. Older versions should also work, but that has not been verified.
This code is distributed under the GPLv3 license.