plesk / api-php-lib
PHP object-oriented library for Plesk XML-RPC API
Installs: 176 507
Dependents: 11
Suggesters: 1
Security: 0
Stars: 145
Watchers: 46
Forks: 82
Open Issues: 10
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-dom: *
- ext-simplexml: *
- ext-xml: *
Requires (Dev)
- phpunit/phpunit: ^9
- spatie/phpunit-watcher: ^1.22
- squizlabs/php_codesniffer: ^3.6
- vimeo/psalm: ^4.10 || ^5.0
- 2.x-dev
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- dev-master / 2.0.x-dev
- v2.0.0
- 1.x-dev
- v1.1.3
- v1.1.2
- 1.1.1
- v1.1.0
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/squizlabs/php_codesniffer-3.13.0
- dev-dependabot/composer/squizlabs/php_codesniffer-3.12.2
- dev-bugfix-getall-databases-fix
This package is auto-updated.
Last update: 2025-05-12 08:48:35 UTC
README
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); $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.
$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.
$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 composer test
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 composer test
One more way to run tests is to use Docker:
docker-compose run tests
Continuous Testing
During active development it could be more convenient to run tests in continuous manner. Here is the way how to achieve it:
REMOTE_URL=https://your-plesk-host.dom:port REMOTE_PASSWORD=password composer test:watch