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\NotAuthorizedwhen trying to make an API call with an invalid or expired auth hash. -
phpzabbix\Exception\InvalidCredentialswhen trying to login with invalid credentials. -
phpzabbix\JSONRPC\ErrorExceptionon 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.