crphp/core

用于构建远程机器管理专用类的基架

v1.1.1 2016-11-24 21:56 UTC

This package is auto-updated.

Last update: 2024-09-09 18:13:21 UTC


README

在本文档的上下文中,术语“类”指的是所有的类、接口和特质。

这个库代表了一个用于远程主机管理的初始骨架。而crphp/wmi是这个类集合使用的良好实现的例子。

在本文档中,“必须”,“不应该”,“要求”,“应该”,“不应该”,“可能”,“不可能”,“推荐”,“可以”和“可选”等关键词应按照RFC 2119中所述进行解释。自由翻译RFC 2119 pt-br

  1. 参考文献
  2. 功能
  3. 要求(推荐)
  4. 将crphp/core包下载到服务器
  5. 使用示例
  6. 许可协议(MIT)

1 - 参考文献

2 - 功能

在本库的上下文中,以下功能是需要实现的类。如前所述,库crphp/wmi是使用这个通用类集合的良好实现的例子。

  • 查询CPU
  • 查询RAM
  • 查询硬盘驱动器
  • 列出服务
  • 停止/启动服务
  • 列出进程
  • 更改进程优先级
  • 杀死/终止进程
  • 转换单位
  • 将Windows时间戳转换为日期/时间

3 - 准备服务器

❗ 下面的建议要求代表了我们开发和生产环境使用的版本,因此我们不保证在此提供的解决方案将完全运行,如果以下元素的版本不同。

3.1 - 要求(推荐)

服务器

  • REQUER Apache >= 2.4.10
  • REQUER PHP >= 5.5.12

客户端

  • NÃO REQUER instalar nenhum componente

4 - 将crphp/core包下载到服务器

对于下面的步骤,我假设您已经安装了composer并且知道如何使用它

composer require crphp/core

或者,如果您想创建一个项目

composer create-project --prefer-dist crphp/core nome_projeto

如果尚未安装composer,可以从https://getcomposer.org.cn/download/获取

5 - 使用示例

我们有两个良好的库示例,它们实现了此核心,分别是crphp/wmicrphp/ssh

查看crphp/wmi使用的实现示例

use COM;
use \Exception;
use \RuntimeException;
use Crphp\Core\Sistema\Conector;

class Wmi extends Conector
{
    public function conectar($host, $usuario = null, $senha = null, $porta = 135, $timeout = 10)
    {
        // Aqui você abre uma comunicação com o host remoto
    }

    public function executar($instrucao)
    {
        // Aqui você executa uma instrução remotamente
    }

    /*
     * Os métodos status() e mensagemErro() possuem um comportamento genérico, provavelmente 
     * você não irá precisar reescrevê-los
     */
}

查看crphp/ssh使用的实现示例

use \Exception;
use \RuntimeException;
use phpseclib\Net\SSH2;
use Crphp\Core\Sistema\Conector;

class Ssh extends Conector
{
    public function conectar($host, $usuario = null, $senha = null, $porta = 135, $timeout = 10)
    {
        // Aqui você abre uma comunicação com o host remoto
    }

    public function executar($instrucao)
    {
        // Aqui você executa uma instrução remotamente
    }

    /*
     * Os métodos status() e mensagemErro() possuem um comportamento genérico, provavelmente 
     * você não irá precisar reescrevê-los
     */
}

6 - 许可协议(MIT)

有关更多信息,请参阅随本库提供的许可文件。