Skip to content
This repository has been archived by the owner on Mar 5, 2020. It is now read-only.
/ plesk-php-api Public archive
forked from plesk/api-php-lib

PHP library for communicating with the Plesk XML-RPC API.

License

Notifications You must be signed in to change notification settings

stayallive/plesk-php-api

 
 

Repository files navigation

PHP library for communicating with the Plesk XML-RPC API

Install Via Composer

Composer is a preferred way to install.

Run: composer require stayallive/plesk-php-api:0.1.* in your project.

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->setCredentials($login, $password);
+$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 of 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`

You can start a Docker container for testing using:

docker run -d -it -p 8443:8443 plesk/plesk

After which the container is available on http://localhost:8443 assuming you run Docker local and you can run:

REMOTE_URL=https://127.0.0.1:8443 REMOTE_PASSWORD=changeme ./vendor/bin/phpunit`

You can also run single groups of test using the --group parameters, to list al available groups:

./vendor/bin/phpunit --list-groups

To run the Customer tests:

REMOTE_URL=https://127.0.0.1:8443 REMOTE_PASSWORD=changeme ./vendor/bin/phpunit --group customer

Using Grunt for Continuous Testing

  • Install node.js and install grunt globally: npm -g install grunt
  • Install dependencies via npm install or yarn install command
  • Run REMOTE_HOST=your-plesk-host.dom REMOTE_PASSWORD=password grunt watch:test

About

PHP library for communicating with the Plesk XML-RPC API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.7%
  • JavaScript 0.3%