elastic / elastic/apm-agent-php

Incompatible with ionCube

Open
#1,164 1 comment 1 reaction 0 assignees View on GitHub
agent-php bug
Dominant language
PHP
Stars
268
Forks
86
PR merge metrics
No merged PRs in 30d

Description

APM agent is incompatible with ionCube.

This might be a duplicate of https://github.com/elastic/apm-agent-php/issues/306, but it's closed.

I first noticed this issue when trying to install the APM agent:

```
Preparing to unpack .../apm-agent-php_1.13.0_amd64.deb ...
Unpacking apm-agent-php (1.13.0) ...
Setting up apm-agent-php (1.13.0) ...
Installing Elastic PHP agent
DEBUG: after-install parameter is 'configure'
Detected PHP version '8.2'
Creating /opt/elastic/apm-agent-php/etc/elastic-apm.ini
; ***** DO NOT EDIT THIS FILE *****
; THIS IS AN AUTO-GENERATED FILE by the Elastic PHP agent post-install.sh script
; To overwrite the INI settings for this extension, edit
; the INI file in this directory "/opt/elastic/apm-agent-php/etc/elastic-apm-custom.ini"
[elastic]
extension=/opt/elastic/apm-agent-php/extensions/elastic_apm_loader.so
elastic_apm.bootstrap_php_part_file=/opt/elastic/apm-agent-php/src/bootstrap_php_part.php
; END OF AUTO-GENERATED by the Elastic PHP agent post-install.sh script
/opt/elastic/apm-agent-php/etc/elastic-apm.ini created
Configuring elastic-apm.ini for supported SAPI's
Found SAPI config directory: /etc/php/8.2/cli/conf.d
Linking /opt/elastic/apm-agent-php/etc/elastic-apm.ini to /etc/php/8.2/cli/conf.d/98-elastic-apm.ini
Linking /opt/elastic/apm-agent-php/etc/elastic-apm-custom.ini to /etc/php/8.2/cli/conf.d/99-elastic-apm-custom.ini
Found SAPI config directory: /etc/php/8.2/fpm/conf.d
Linking /opt/elastic/apm-agent-php/etc/elastic-apm.ini to /etc/php/8.2/fpm/conf.d/98-elastic-apm.ini
Linking /opt/elastic/apm-agent-php/etc/elastic-apm-custom.ini to /etc/php/8.2/fpm/conf.d/99-elastic-apm-custom.ini
zend_mm_heap corrupted
/var/lib/dpkg/info/apm-agent-php.postinst: line 23: 3401917 Aborted ${PHP_BIN} -d memory_limit=128M "$@"
Failed. Elastic PHP agent extension is not enabled
Set up the Agent manually as explained in:
https://github.com/elastic/apm-agent-php/blob/main/docs/setup.asciidoc
Enable the extension by adding the following to your php.ini file:
extension=/opt/elastic/apm-agent-php/extensions/elastic_apm_loader.so
elastic_apm.bootstrap_php_part_file=/opt/elastic/apm-agent-php/src/bootstrap_php_part.php
```

... and within PHP-FPM, children die immediately:

```
Jun 09 11:13:14 http-tst01.cf.ha.cyberfusion.cloud php-fpm[3436295]: [WARNING] [pool sig2test81] child 3436963 exited with code 1 after 0.011613 seconds from start
Jun 09 11:13:14 http-tst01.cf.ha.cyberfusion.cloud php-fpm[3436295]: [NOTICE] [pool sig2test81] child 3436965 started
Jun 09 11:13:14 http-tst01.cf.ha.cyberfusion.cloud php-fpm[3436295]: [WARNING] [pool sig2test81] child 3436965 exited with code 1 after 0.947301 seconds from start
Jun 09 11:13:14 http-tst01.cf.ha.cyberfusion.cloud php-fpm[3436295]: [NOTICE] [pool sig2test81] child 3437009 started
```

I can confirm this behaviour on PHP 8.1.28 and 8.2.19.

Used agent version is 1.13.0.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.