diff --git a/docs/zh/install-sdk.md b/docs/zh/install-sdk.md index f1134d646c95055518482ab3938c06815065a01a..a6f128867354bb8316beb4047c464ca731c3de83 100644 --- a/docs/zh/install-sdk.md +++ b/docs/zh/install-sdk.md @@ -43,16 +43,16 @@ sudo make install 5.新建php的skywalking扩展配置文件,写入配置 ```shell -# 扩展so +; 扩展so extension=skywalking.so -# 是否启用:0 关闭;1 启用 (默认值为0) +; 是否启用:0 关闭;1 启用 (默认值为0) skywalking.enable=1 -# skywalking的版本:5或者6(默认值为6) +; skywalking的版本:5或者6(默认值为6) skywalking.version=6 -# app_code代码,不要含特殊字符,请使用数字、字母、下换线。(默认为:hello_skywalking) +; app_code代码,不要含特殊字符,请使用数字、字母、下换线。(默认为:hello_skywalking) skywalking.app_code=hello_skywalking -# sock文件路径(默认值为/tmp/sky_agent.sock) -skywalking.sock_path=/tmp/sky_agent.sock +; sock文件路径(默认值为/tmp/sky-agent.sock) +skywalking.sock_path=/tmp/sky-agent.sock ``` diff --git a/skywalking.c b/skywalking.c index 546d1fe6c2fb00a06dd1779f0b9ac6adae7a8650..943ac988746c7736e2fbb3d1694b34378c55f6ac 100644 --- a/skywalking.c +++ b/skywalking.c @@ -242,7 +242,7 @@ ZEND_API void sky_execute_ex(zend_execute_data *execute_data) { if (Z_TYPE_P(arguments) == IS_ARRAY) { zend_ulong num_key; - zval *entry; + zval *entry, str_entry; smart_str command = {0}; smart_str_appends(&command, Z_STRVAL_P(id)); smart_str_appends(&command, " "); @@ -256,8 +256,9 @@ ZEND_API void sky_execute_ex(zend_execute_data *execute_data) { case IS_ARRAY: break; default: - convert_to_string(entry); - smart_str_appends(&command, Z_STRVAL_P(entry)); + ZVAL_COPY(&str_entry, entry); + convert_to_string(&str_entry); + smart_str_appends(&command, Z_STRVAL_P(&str_entry)); smart_str_appends(&command, " "); break; } @@ -558,18 +559,21 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return int is_string_command = 1; int i; for (i = 1; i < arg_count + 1; ++i) { + zval str_p; zval *p = ZEND_CALL_ARG(execute_data, i); if (Z_TYPE_P(p) == IS_ARRAY) { is_string_command = 0; break; } - if (Z_TYPE_P(p) != IS_STRING) { - convert_to_string(p); + + ZVAL_COPY(&str_p, p); + if (Z_TYPE_P(&str_p) != IS_STRING) { + convert_to_string(&str_p); } if (i == 1) { - add_assoc_string(&tags, "redis.key", Z_STRVAL_P(p)); + add_assoc_string(&tags, "redis.key", Z_STRVAL_P(&str_p)); } - smart_str_appends(&command, zend_str_tolower_dup(Z_STRVAL_P(p), Z_STRLEN_P(p))); + smart_str_appends(&command, zend_str_tolower_dup(Z_STRVAL_P(&str_p), Z_STRLEN_P(&str_p))); smart_str_appends(&command, " "); } // store command to tags