PlinkerRPC PHP client/server makes it really easy to link and execute PHP component classes on remote systems, while maintaining the feel of a local method call.
RedBeanPHP component which will enable you to directly manage databases on remote sites.
Composer
{
"require": {
"plinker/redbean": ">=v0.1"
}
}
<?php
require 'vendor/autoload.php';
try {
/**
* Plinker Config
*/
$config = [
// plinker connection | using tasks as to write in the correct .sqlite file
'plinker' => [
'endpoint' => 'http://127.0.0.1/examples/redbean/server.php',
'public_key' => 'makeSomethingUp',
'private_key' => 'againMakeSomethingUp'
],
// database connection
'database' => [
'dsn' => 'sqlite:./.plinker/database.db',
'host' => '',
'name' => '',
'username' => '',
'password' => '',
'freeze' => false,
'debug' => false,
]
];
// init plinker endpoint client
$rdb = new \Plinker\Core\Client(
// where is the plinker server
$config['plinker']['endpoint'],
// component namespace to interface to
'Redbean\Redbean',
// keys
$config['plinker']['public_key'],
$config['plinker']['private_key'],
// construct values which you pass to the component
$config['database']
);
//..
} catch (\Exception $e) {
exit(get_class($e).': '.$e->getMessage());
}
then the server part...
<?php
require 'vendor/autoload.php';
/**
* POST Server Part
*/
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$server = new Plinker\Core\Server(
$_POST,
'username',
'password'
);
exit($server->execute());
}
See the organisations page for additional components.