php extend for nacos
git clone https://github.com/zhenyangze/pacos
cd pacos
phpize
./configure --with-php-config=${PATh}
make
make install
extension=pacos.so
;1全局进程 2独立进程
pacos_run_mode=1
;进程保存文件
pacos_pid_file=/tmp/pacos.beat.test.pid
;心跳周期(秒)
pacos_period_time=10
;请求超时时间(秒)
pacos_http_timeout=3
;namespace可不写,默认为public
;pacos_namespace=public
;1展示异常信息
pacos_display_error=1
;父进程检测周期(秒)
;pacos_check_period_time=5
$config = new \Pacos\Config('http://localhost', '8848');
$config->get(string $dataId, string $group = "DEFAULT_GROUP", $callback = null);
示例
$config->get('nacos.example', 'com.alibaba.nacos');
$config->get('nacos.example', 'com.alibaba.nacos', function($dataId, $group) {
return "没有获取配置信息,自定义返回";
});
$config->set(string $dataId, string $group = "DEFAULT_GROUP", string $content);
示例
$config->set('nacos.example', 'com.alibaba.nacos', "demo");
$config->delete(string $dataId, string $group = "DEFAULT_GROUP")
示例
$config->delete('nacos.example', 'com.alibaba.nacos');
$config->listen(array $configs, int $timeout = 30)
示例
$config->listen([
[
'dataId' => 'nacos.example',
"group" => 'com.alibaba.nacos',
'contentMd5' => md5("demo")
]
]);
$config->search(string $dataId, string $group, int $pageNo = 1, int $pageSize = 100)
示例
$config->search('nacos.example', 'com.alibaba.nacos');
$instance = new \Pacos\Instance('http://localhost', '8848');
$instance->add(array $instance)
示例
$instance->add([
'ip' => '127.0.0.1',
'port' => 80,
'serviceName' => 'test1',
]);
$instance->delete(string $serviceName, string $ip, int $port, string $clusterName = null, string $namespaceId = null)
示例
$instance->delete("test", "127.0.0.1", "80");
$instance->list(string $serviceName, string $namespaceId = null, array $clusters = [])
示例
$instance->list("test");
$instance->get(string serviceName, string ip, int port, string namespaceId = null, string cluster = null, bool healthyOnly = false)
示例
$instance->get("test", "127.0.0.1", "80");
$instance->select(string $serviceName, string $namespaceId = null)
示例
$instance->select("test");
$instance->call(string $serviceName, string $method, string $uri, array $options = [], string $namespaceId = null)
示例
$instance->call("test", "GET", "/api/user/info");
$instance->update(array $instance)
示例
$instance->update([
'ip' => '127.0.0.1',
'port' => 80,
'serviceName' => 'test',
]);
$instance->beat(array $beatInfo)
示例
$instance->beat([
'ip' => '127.0.0.1',
'port' => 80,
'serviceName' => 'test1',
]);
$instance->register(array $instanceList)
示例
$instance->register([
[
'ip' => '127.0.0.1',
'port' => 80,
'serviceName' => 'php.test',
],
[
'ip' => '127.0.0.1',
'port' => 80,
'serviceName' => 'php.test2',
]
]);