Home
PlinkerRPC PHP client/server allows you to securely execute generic PHP code and components on remote sites, while maintaining the feel of a local method call.
Components¶
Each component is a composer package, you can find them on packagist.
Component | Description | Version |
---|---|---|
core | Required base component which contains the client and server. | |
asterisk | An Asterisk component which hooks into the Asterisk Management Interface on remote systems. | |
base91 | A core component, which base91 encodes the payload. | |
cron | A cron component which allows you to read and control cron tasks. | |
files | Read and write files on remote systems. | |
iptables | Control IPtables on remote systems, mainly for purpose of port forwarding. | |
lxc | WIP: An older/deprecated component which controls LXC1.0 containers. | |
nginx | Manage nginx as a reverse proxy. | |
redbean | RedBeanPHP component which will enable you to directly manage databases on remote sites. | |
system | A system component which gives you access to server information. | |
tasks | The tasks component allows you to write code based tasks which are completed by a daemon, this could allow you to create a single interface to control a cluster of servers tasks. | |
test | A test component which simply returns back what you sent, for testing/example purposes. |
Did you know?
PlinkerRPC PHP client/server is also available as a C extension which can be installed with Zephir.
Development Repository¶
The development repository is used to develop the entire project to make it easy to work on many parts at the same time without forgetting what was done, it contains a bash script which will commit and do semantic versioning for each sub component.
Installing¶
git clone git@github.com:plinker-rpc/development.git .
composer install
Committing Changes¶
Bash scripts have been added to automate this, do not do it manually.
bash ./commit.sh "A really informative commit message."
The above 1 liner will ask:
Do you wish to [c]ommit, [d]eploy or [e]xit?
- If you choose commit, it will push your changes and docs to github.
- If you choose deploy, it will ask:
Which type of changes has been done: [p]atch, [m]inor, [M]ajor?
, upon choice it will increment the semantic version, tag then push your changes and docs to github.
bash ./dev_mkdocs.sh
is used to write docs with hot reloading at http://127.0.0.0:8000
New Components¶
To create a new component simply edit the component-generator.php
file then run it.
It will generate the following structure in vendor, ready to start creating your component package.
component ┐ ├── src │ ├── Component.php ├── tests │ ├── fixtures │ ├── ComponentTest.php │ └── bootstrap.php ├── .gitignore ├── .scrutinizer.yml ├── .styleci.yml ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── phpunit.xml ├── README.md └── composer.json
When ready:
- Make sure
README.md
conforms to docs structure. - Create a github repository in the organisation, push your changes.
- Add the new component to
commit.sh
,dev_mkdocs.sh
andmkdocs.sh
component arrays. - Run
bash ./commit.sh "Inital Commit"
- Add to packagist.
- Enable on StyleCI, TravisCI, ScrutinizerCI.
Request a Component¶
If you've got an idea for a component and would like to see it added, feel free to open an issue.
Development Encouragement¶
If you use this project and make money from it or want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks.
Sponsors¶
Get your company or name listed throughout the documentation and on each github repository, contact me at https://cherone.co.uk for further details.