Skywalking PHP客户端编译安装 OpenTracing 链路追踪
Skywalking PHP客户端
其实就是一个PHP扩展,按照官方说明来安装就行,
不要相信网上乱七八糟的说法,网上说需要安装report client
我搞了半天没明白是啥,
问作者,作者回答不需要这玩意。
本段内容2020-12-30更新:github官方更新了安装方法,跟下文原来的版本大同小异,在此提供一下最新的grpc,链接:https://pan.baidu.com/s/1ZRY3AnM438asyh9dyUHciw 提取码:job7 其他按照官方文档即可;
如不熟悉,可先参考下文旧版的方式
安装skywalking扩展官方文档https://github.com/SkyAPM/SkyAPM-php-sdk/blob/master/docs/install.md
因为墙的原因,下载goole子模块会失败,在此分享Protobuf、GRPC的源码百度网盘地址:链接:https://pan.baidu.com/s/1KA1F0syeVs9aGY_e9HZsQw
提取码:01js 链接:https://pan.baidu.com/s/1XIkohUC3EVTEIyHCCx950w
提取码:7oej
,下载完成后,可以scp或者共享文件夹的方式传到Linux机器
(顺便说下windows解压缩工具 7z 很好用)
我的环境
ubuntu 18.04
PHP 7.2.24-0ubuntu0.18.04.7
gcc version 7.5.0
cmake 3.18
swoole 4.5.8
skywalking 4.1.1
注意gcc和cmake的版本,越高越好,太低会失败
安装流程
下文中$
符号开始的命令表示需要执行的
Install Protobuf
$ sudo apt-get install autoconf automake libtool curl make g++ unzip
# 先下载protobuf文件,我上文分享到百度网盘的,然后解压执行下面的操作
$ cd protobuf
$ ./autogen.sh
$ ./configure
$ make -j$(nproc) # 此过程耗时
$ make check # 此过程耗时,有一个test FAIL也没问题
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
Install GRPC
$ sudo apt-get install build-essential autoconf libtool pkg-config cmake
# 先下载grpc文件,我上文分享到百度网盘的,然后解压执行下面的操作
$ cd grpc
$ mkdir -p cmake/build
$ cd cmake/build
$ cmake ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON
$ make -j$(nproc) # 此过程耗时
$ sudo make install
$ make clean
$ sudo ldconfig
Install PHP Extension
$ cd ~
$ curl -Lo v4.1.1.tar.gz https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.1.1.tar.gz
$ tar zxvf v4.1.1.tar.gz
$ cd SkyAPM-php-sdk-4.1.1
$ apt install php7.2-dev # 根据自己的php选择版本
$ apt install libcurl4-gnutls-dev # 当make报错curl不存在时安装即可
$ phpize && ./configure && make && make install
如果报错fatal error: curl/curl.h: No such file or directory
就apt-get install libcurl4-openssl-dev
安装cmake3.18(当报错时安装)
如果报错configure: error: wrong gpr lib version or lib not found
就重新安装cmake,走上一步重新Install GRPC
$ sudo apt install build-essential libssl-dev
$ sudo apt remove --purge cmake
$ # find last stable release at https://github.com/Kitware/CMake/releases and download the source .tar.gz,eg:
$ wget https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz
$ tar -zxvf cmake-3.18.4.tar.gz
$ cd cmake-3.18.4
$ ./bootstrap
$ make
$ sudo make install
$ cmake --version
cmake version 3.18.4 CMake suite maintained and supported by Kitware (kitware.com/cmake).
修改php配置文件
$ php --ini
查看php配置文件,例如我的是 Loaded Configuration File: /etc/php/7.2/cli/php.ini
修改ini
$ vim /etc/php/7.2/cli/php.ini
; Loading extensions in PHP
extension=skywalking.so
; enable skywalking
skywalking.enable = 1
; Set skyWalking collector version (5 or 6 or 7 or 8)
;跟你的skywalking服务一般是skywalking8+elasticsearch7
skywalking.version = 8
; Set app code e.g. MyProjectName
skywalking.app_code = php-sky
; Set grpc address
skywalking.grpc=127.0.0.1:11800
此时如果php -m | grep s
报错curl
扩展没安装,则apt install php7.2-curl
安装自己PHP版本的,然后就成功看到了
$ php -m | grep sky
skywalking
swoole的链路监控到了 ,撒花
搭建skywalking服务,按照官方文档操作就好,
最简单大概就是
官网下载elasticsearch7的tar.gz包,启动 ./bin/elasticsearch
官网下载skywalking-for-es7的包,修改配置storage为es7,启动./bin/start.sh
本作品采用《CC 协议》,转载必须注明作者和本文链接
:+1:
您好,请问从“php -m | grep sky”到skywalking页面有数据还需要什么操作呢?


我这里查看拓展安装完成,服务器上另外一个laravel项目也有运行着
-但是页面一直没数据。
楼主您好,目前我已经完成了skywalking的安装,并且在面板上已经看到了这个项目,但是请求了该项目http接口在面板上没有看到链路,在服务器直接curl也没有,请问除了skywalking扩展是还需要什么东西么,用的laravel5.8