Преглед на файлове

Fix bug in v-list-sys-php (#2205)

Due to a bug with php packages in the past that have been patched by upstream older servers still might report non installed php versions

Rewrote the function so it should not happen again
Jaap Marcus преди 4 години
родител
ревизия
e674c04a2e
променени са 2 файла, в които са добавени 11 реда и са изтрити 7 реда
  1. 10 6
      bin/v-list-sys-php
  2. 1 1
      bin/v-restart-service

+ 10 - 6
bin/v-list-sys-php

@@ -26,9 +26,9 @@ source_conf "$HESTIA/conf/hestia.conf"
 # JSON list function
 # JSON list function
 json_list() {
 json_list() {
     i=1
     i=1
-    objects=$(echo "$versions" |wc -w)
+    objects=$(echo "${versions[@]}" |wc -w)
     echo '['
     echo '['
-    for version in $versions; do
+    for version in "${versions[@]}"; do
         if [ "$i" -lt "$objects" ]; then
         if [ "$i" -lt "$objects" ]; then
             echo -e  "\t\"$version\","
             echo -e  "\t\"$version\","
         else
         else
@@ -43,14 +43,14 @@ json_list() {
 shell_list() {
 shell_list() {
     echo "VERSION"
     echo "VERSION"
     echo "--------"
     echo "--------"
-    for version in $versions; do
+    for version in "${versions[@]}"; do
         echo "$version"
         echo "$version"
     done
     done
 }
 }
 
 
 # PLAIN list function
 # PLAIN list function
 plain_list() {
 plain_list() {
-    for version in $versions; do
+    for version in "${versions[@]}"; do
         echo "$version"
         echo "$version"
     done
     done
 }
 }
@@ -58,7 +58,7 @@ plain_list() {
 # CSV list function
 # CSV list function
 csv_list() {
 csv_list() {
     echo "VERSION"
     echo "VERSION"
-    for version in $versions; do
+    for version in "${versions[@]}"; do
         echo "$version"
         echo "$version"
     done
     done
 }
 }
@@ -68,8 +68,12 @@ csv_list() {
 #                       Action                             #
 #                       Action                             #
 #----------------------------------------------------------#
 #----------------------------------------------------------#
 
 
+declare -a versions;
 # List through /etc/php
 # List through /etc/php
-versions=$(/usr/sbin/phpquery -V);
+for version in /etc/php/*/fpm; do
+    ver=$(echo "$version" | awk -F"/" '{ print $4 }');
+    versions+=("$ver")
+done
 
 
 # Listing data
 # Listing data
 case $format in
 case $format in

+ 1 - 1
bin/v-restart-service

@@ -37,7 +37,7 @@ is_format_valid 'service' 'restart'
 if [ "$service" = "php-fpm" ];then
 if [ "$service" = "php-fpm" ];then
     service_list=''
     service_list=''
     # Get installed php versions
     # Get installed php versions
-    php_versions=$(/usr/sbin/phpquery -V);
+    php_versions=$($BIN/v-list-sys-php plain);
     # Substitute php-fpm service name formats
     # Substitute php-fpm service name formats
     for version in $php_versions; do
     for version in $php_versions; do
         service_list="${service_list} php${version}-fpm"
         service_list="${service_list} php${version}-fpm"