Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

php80 support plz ? #39

Open
cyberfunkua opened this issue Jul 5, 2022 · 2 comments
Open

php80 support plz ? #39

cyberfunkua opened this issue Jul 5, 2022 · 2 comments

Comments

@cyberfunkua
Copy link

Thank you so much for pinba ext
Will it possible to make pinba for php 8.0+

/root/pinba/pinba_extension/pinba.c: In function 'php_create_pinba_packet': /root/pinba/pinba_extension/pinba.c:730:3: warning: passing argument 3 of 'zend_hash_sort_ex' from incompatible pointer type [enabled by default] zend_hash_sort(tags, php_pinba_key_compare, 0); ^ In file included from /opt/alt/php80/usr/include/php/Zend/zend.h:33:0, from /opt/alt/php80/usr/include/php/main/php.h:31, from /root/pinba/pinba_extension/pinba.c:35: /opt/alt/php80/usr/include/php/Zend/zend_hash.h:268:30: note: expected 'bucket_compare_func_t' but argument is of type 'int (*)(const void *, const void *)' ZEND_API void ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber); ^ /root/pinba/pinba_extension/pinba.c: In function 'php_pinba_array_to_tags': /root/pinba/pinba_extension/pinba.c:1100:2: warning: passing argument 3 of 'zend_hash_sort_ex' from incompatible pointer type [enabled by default] zend_hash_sort(array, php_pinba_key_compare, 0); ^ In file included from /opt/alt/php80/usr/include/php/Zend/zend.h:33:0, from /opt/alt/php80/usr/include/php/main/php.h:31, from /root/pinba/pinba_extension/pinba.c:35: /opt/alt/php80/usr/include/php/Zend/zend_hash.h:268:30: note: expected 'bucket_compare_func_t' but argument is of type 'int (*)(const void *, const void *)' ZEND_API void ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);

@gggeek
Copy link

gggeek commented Dec 6, 2022

Shameless plug: while we wait for the php extension to be made compatible, you could use https://github.com/gggeek/pinba_php.
It's a reimplementation of the same API in php: slower, uses more ram, and reports less accurate timing data.
But it is tested on all php versions from 5.3 to 8.1

@caseycs
Copy link

caseycs commented Jan 27, 2023

It's working both with php 8.1 and 8.2:

cat Dockerfile
FROM php:8.2

ENV PINBA_REF=4726c3666d27a2d25f073ea9a06720e3199fde09
RUN apt-get update \
    && apt-get install -y git \
    && git clone https://github.com/tony2001/pinba_extension.git /root/pinba_extension \
    && cd /root/pinba_extension \
    && git checkout ${PINBA_REF} \
    && phpize \
    && ./configure --enable-pinba \
    && make install

RUN echo "extension=pinba.so" > /usr/local/etc/php/conf.d/60-pinba.ini

time docker build --tag tmp .
[+] Building 0.7s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                                  0.0s
 => => transferring dockerfile: 468B                                                                                  0.0s
 => [internal] load .dockerignore                                                                                     0.0s
 => => transferring context: 2B                                                                                       0.0s
 => [internal] load metadata for docker.io/library/php:8.2                                                            0.6s
 => [1/3] FROM docker.io/library/php:8.2@sha256:1ff766570a985398423fa93ccd98d5d76b7b4ffd395b4e99895a6ebe0236f584      0.0s
 => CACHED [2/3] RUN apt-get update     && apt-get install -y git     && git clone https://github.com/tony2001/pinba  0.0s
 => CACHED [3/3] RUN echo "extension=pinba.so" > /usr/local/etc/php/conf.d/60-pinba.ini                               0.0s
 => exporting to image                                                                                                0.0s
 => => exporting layers                                                                                               0.0s
 => => writing image sha256:896d7130d9c423505edbd9545bddd9d3ba212d7c79febb723a25ff6c45b1e7af                          0.0s
 => => naming to docker.io/library/tmp                                                                                0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
docker build --tag tmp .  0.12s user 0.14s system 19% cpu 1.343 total

docker run --rm -it tmp php -v
PHP 8.2.1 (cli) (built: Jan 11 2023 08:20:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologie

docker run --rm -it tmp php -r "print_r(pinba_get_info());"
Array
(
    [mem_peak_usage] => 2097152
    [req_time] => 6.4E-5
    [ru_utime] => 4.4E-5
    [ru_stime] => 2.0E-5
    [req_count] => 1
    [doc_size] => 0
    [schema] =>
    [server_name] => unknown
    [script_name] => Standard input code
    [hostname] => a3b3b91bad79
    [timers] => Array
        (
        )

    [tags] => Array
        (
        )

)

Same for 8.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants