Add support for newrelic (#910)
parent
9eb0c12a9c
commit
b899180851
|
@ -417,6 +417,7 @@ Here's the list of all the supported environment variables:
|
|||
| http, intl, mongodb | `IPE_ICU_EN_ONLY=1` | Some extensions require the ICU library, use this flag to install a smaller, but English-only, ICU library on Alpine 3.16 and later |
|
||||
| pspell | `IPE_ASPELL_LANGUAGES='...'` | Configure the languages to be made available (for example: `IPE_ASPELL_LANGUAGES='en fr'`). If omitted, we'll assume `en` |
|
||||
| | `IPE_DEB_ARCHIVE` & `IPE_DEB_ARCHIVE_SECURITY` | The APT packages of very old Debian versions (eg Jessie) may have been archived: you can use these environment variables to specify custom URLs of these APT archives |
|
||||
| newrelic | `NR_INSTALL_KEY` | Your New Relic license key |
|
||||
|
||||
## Special requirements
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ msgpack 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
|||
mssql 5.5 5.6
|
||||
mysql 5.5 5.6
|
||||
mysqli 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
||||
newrelic 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
||||
oauth 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
||||
oci8 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
||||
odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
|
||||
|
|
|
@ -2364,6 +2364,32 @@ installCargo() {
|
|||
fi
|
||||
}
|
||||
|
||||
installNewRelic() {
|
||||
printf '# Installing newrelic\n'
|
||||
installNewRelic_search='\bnewrelic-php[0-9.]*-[0-9]+(\.[0-9]+)*-linux'
|
||||
case "$DISTRO" in
|
||||
alpine)
|
||||
installNewRelic_search="$installNewRelic_search-musl"
|
||||
;;
|
||||
esac
|
||||
installNewRelic_file="$(curl -sSLf -o- https://download.newrelic.com/php_agent/release/ | sed -E 's/<[^>]*>//g' | grep -Eo "$installNewRelic_search.tar.gz" | sort | head -1)"
|
||||
installNewRelic_url="https://download.newrelic.com/php_agent/release/$installNewRelic_file"
|
||||
installNewRelic_src="$(getPackageSource "$installNewRelic_url")"
|
||||
cd -- "$installNewRelic_src"
|
||||
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install
|
||||
cd - >/dev/null
|
||||
cat <<EOT
|
||||
NewRelic has been installed from $installNewRelic_url
|
||||
You may need to:
|
||||
- change the owner/permissions of /var/log/newrelic
|
||||
(for example: chown -R www-data:www-data /var/log/newrelic)
|
||||
- set the value of the newrelic.license configuration key in
|
||||
$PHP_INI_DIR/conf.d/newrelic.ini
|
||||
(if you didn't set the NR_INSTALL_KEY environment variable)
|
||||
|
||||
EOT
|
||||
}
|
||||
|
||||
# Install a bundled PHP module given its handle
|
||||
#
|
||||
# Arguments:
|
||||
|
@ -3206,6 +3232,10 @@ installRemoteModule() {
|
|||
fi
|
||||
fi
|
||||
;;
|
||||
newrelic)
|
||||
installNewRelic
|
||||
installRemoteModule_manuallyInstalled=2
|
||||
;;
|
||||
oauth)
|
||||
if test -z "$installRemoteModule_version"; then
|
||||
if test $PHP_MAJMIN_VERSION -le 506; then
|
||||
|
@ -4190,8 +4220,10 @@ installRemoteModule() {
|
|||
installPeclPackage "$installRemoteModule_module" "$installRemoteModule_version" "$installRemoteModule_cppflags" "$installRemoteModule_path"
|
||||
fi
|
||||
postProcessModule "$installRemoteModule_module"
|
||||
if test $installRemoteModule_manuallyInstalled -lt 2; then
|
||||
checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if a module/helper may be installed using the pecl archive
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/_bootstrap.php';
|
||||
|
||||
$rc = 0;
|
||||
echo 'Checking if newrelic_start_transaction() exists... ';
|
||||
if (!function_exists('newrelic_start_transaction')) {
|
||||
$rc = 1;
|
||||
echo "NO!\n";
|
||||
} else {
|
||||
echo "yes.\n";
|
||||
}
|
||||
|
||||
exit($rc);
|
Loading…
Reference in New Issue