From d52bd6393dd962bb5ed2e87e7de8c09bc079db54 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 8 Sep 2022 12:38:14 +1000 Subject: [PATCH] Use curl information from library rather than curl --version There is a chance the curl executable could be of different version than the libcurl used by php. Include the curl library version, the openssl version and zlib version. This is less than curl --version of the form: curl 7.82.0 (x86_64-redhat-linux-gnu) libcurl/7.82.0 OpenSSL/3.0.5 zlib/1.2.11 brotli/1.0.9 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.46.0 OpenLDAP/2.6.2 --- functions.php | 6 +++--- prepare.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/functions.php b/functions.php index cdbbf33..d9cd1e4 100644 --- a/functions.php +++ b/functions.php @@ -211,9 +211,9 @@ function get_env_details() { foreach( $php_modules as $php_module ) { $env['php_modules'][ $php_module ] = phpversion( $php_module ); } - $curl_bits = explode( PHP_EOL, str_replace( 'curl ', '', shell_exec( 'curl --version' ) ) ); - $curl = array_shift( $curl_bits ); - $env['system_utils']['curl'] = trim( $curl ); + function curl_selected_bits($k) { return in_array($k, array('version', 'ssl_version', 'libz_version')); } + $curl_bits = curl_version(); + $env['system_utils']['curl'] = implode(' ',array_values(array_filter($curl_bits, 'curl_selected_bits',ARRAY_FILTER_USE_KEY) )); $env['system_utils']['ghostscript'] = trim( shell_exec( 'gs --version' ) ); if ( class_exists( 'Imagick' ) ) { $imagick = new Imagick(); diff --git a/prepare.php b/prepare.php index 6045ea7..7639504 100644 --- a/prepare.php +++ b/prepare.php @@ -77,9 +77,9 @@ foreach( \$php_modules as \$php_module ) { \$env['php_modules'][ \$php_module ] = phpversion( \$php_module ); } -\$curl_bits = explode( PHP_EOL, str_replace( 'curl ', '', shell_exec( 'curl --version' ) ) ); -\$curl = array_shift( \$curl_bits ); -\$env['system_utils']['curl'] = trim( \$curl ); +function curl_selected_bits(\$k) { return in_array(\$k, array('version', 'ssl_version', 'libz_version')); } +\$curl_bits = curl_version(); +\$env['system_utils']['curl'] = implode(' ',array_values(array_filter(\$curl_bits, 'curl_selected_bits',ARRAY_FILTER_USE_KEY) )); \$env['system_utils']['ghostscript'] = trim( shell_exec( 'gs --version' ) ); if ( class_exists( 'Imagick' ) ) { \$imagick = new Imagick();