Skip to content
PHP library for Plesk API-RPC
PHP Other
  1. PHP 99.4%
  2. Other 0.6%
Branch: master
Clone or download
Latest commit fc561b2 Oct 2, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/Api Add Webspace getLimits Oct 2, 2019
tests Add Webspace getLimits Oct 2, 2019
.gitignore Repo is usefull as standalone project as well (speed up installation) Sep 2, 2019
.travis.yml Travis CI experimental integration (run tests on each merge) Sep 3, 2019
Dockerfile Fix deps installation from scratch Sep 3, 2019
Gruntfile.js Happy New Year! Dec 26, 2018
LICENSE Happy New Year! Dec 26, 2018 Add info about build status Sep 3, 2019
composer.json Happy New Year! Dec 26, 2018
docker-compose.yml Wait for Plesk initialization before tests execution Jun 29, 2019
package.json Simplify unit tests execution. Jul 29, 2015
phpunit.xml.dist Fix tests for running on Windows host Part 2 Dec 26, 2018 Wait for Plesk initialization before tests execution Jun 29, 2019

PHP library for Plesk XML-RPC API

Build Status Scrutinizer Code Quality

PHP object-oriented library for Plesk XML-RPC API.

Install Via Composer

Composer is a preferable way to install the library:

composer require plesk/api-php-lib

Usage Examples

Here is an example on how to use the library and create a customer with desired properties:

$client = new \PleskX\Api\Client($host);
$client->setCredentials($login, $password);

    'cname' => 'Plesk',
    'pname' => 'John Smith',
    'login' => 'john',
    'passwd' => 'secret',
    'email' => '',

It is possible to use a secret key instead of password for authentication.

$client = new \PleskX\Api\Client($host);

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.

$client = new \PleskX\Api\InternalClient();
$protocols = $client->server()->getProtos();

For additional examples see tests/ directory.

How to Run Unit Tests

One the possible ways to become familiar with the library is to check the unit tests.

To run the unit tests use the following command:

REMOTE_HOST=your-plesk-host.dom REMOTE_PASSWORD=password ./vendor/bin/phpunit

To use custom port one can provide a URL (e.g. for Docker container):

REMOTE_URL=https://your-plesk-host.dom:port REMOTE_PASSWORD=password ./vendor/bin/phpunit

One more way to run tests is to use Docker:

docker-compose run tests

Using Grunt for Continuous Testing

  • Install Node.js
  • Install dependencies via npm install command
  • Run REMOTE_HOST=your-plesk-host.dom REMOTE_PASSWORD=password grunt watch:test
You can’t perform that action at this time.