elastic / apm-agent-php

Apache License 2.0
252 stars 69 forks source link

Debian package installs only for one PHP version #1165

Open WilliamDEdwards opened 3 months ago

WilliamDEdwards commented 3 months ago

When installing apm-agent-php, config files are placed only for one PHP version:

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

... despite this machine having multiple PHP versions:

root@http-tst01:/etc/php# phpquery -V
8.2
8.1
8.0
7.4
WilliamDEdwards commented 3 months ago

In my case, https://github.com/elastic/apm-agent-php/issues/1167 would also be an acceptable workaround.