PHP library for Plesk XML-RPC API
, (*1)
PHP object-oriented library for Plesk XML-RPC API., (*2)
Install Via Composer
Composer is a preferable way to install the library:, (*3)
composer require plesk/api-php-lib
, (*4)
Usage Examples
Here is an example on how to use the library and create a customer with desired properties:, (*5)
$client = new \PleskX\Api\Client($host);
$client->setCredentials($login, $password);
$client->customer()->create([
'cname' => 'Plesk',
'pname' => 'John Smith',
'login' => 'john',
'passwd' => 'secret',
'email' => 'john@smith.com',
]);
It is possible to use a secret key instead of password for authentication., (*6)
$client = new \PleskX\Api\Client($host);
$client->setSecretKey($secretKey)
In case of Plesk extension creation one can use an internal mechanism to access XML-RPC API. It does not require to pass authentication because the extension works in the context of Plesk., (*7)
$client = new \PleskX\Api\InternalClient();
$protocols = $client->server()->getProtos();
For additional examples see tests/ directory., (*8)
How to Run Unit Tests
One the possible ways to become familiar with the library is to check the unit tests., (*9)
To run the unit tests use the following command:, (*10)
REMOTE_HOST=your-plesk-host.dom REMOTE_PASSWORD=password composer test
, (*11)
To use custom port one can provide a URL (e.g. for Docker container):, (*12)
REMOTE_URL=https://your-plesk-host.dom:port REMOTE_PASSWORD=password composer test
, (*13)
One more way to run tests is to use Docker:, (*14)
docker-compose run tests
, (*15)
Continuous Testing
During active development it could be more convenient to run tests in continuous manner. Here is the way how to achieve it:, (*16)
REMOTE_URL=https://your-plesk-host.dom:port REMOTE_PASSWORD=password composer test:watch
, (*17)