#!/bin/bash # Lista plików do przeszukania files=( "/usr/local/php72/lib/php.ini" "/usr/local/php73/lib/php.ini" "/usr/local/php74/lib/php.ini" "/usr/local/php80/lib/php.ini" "/usr/local/php81/lib/php.ini" "/usr/local/php82/lib/php.ini" ) # Lista domyślnych zmiennych do zmiany default_variables=( "opcache.jit_buffer_size=256M" "opcache.enable=1" "opcache.enable_cli=1" "memory_limit=512M" "max_input_vars=10000" "max_execution_time=90" ) # Jeżeli plik /usr/local/directadmin/ht_php_settings istnieje, # wczytaj zmienne z tego pliku if [ -f "/usr/local/directadmin/ht_php_settings" ]; then variables=() while IFS= read -r line; do variables+=("$line") done < "/usr/local/directadmin/ht_php_settings" else variables=("${default_variables[@]}") fi # Przeszukaj każdy plik for file in "${files[@]}"; do if [ -f "$file" ]; then echo "Plik $file istnieje." changed=false # Czy zmieniono jakąś wartość # Przeszukaj każdą zmienną for variable in "${variables[@]}"; do key="${variable%%=*}" # Wyodrębnij klucz z pary klucz=wartość value="${variable#*=}" # Wyodrębnij wartość z pary klucz=wartość # Czy istnieje linia z kluczem? if grep -q "$key" "$file"; then echo "Znaleziono '$key' w $file. Zmieniam wartość..." # Usunięcie ewentualnego komentarza i zmiana wartości na nową wartość sed -i -r "s/^[;#]?($key).*/\1=$value/" "$file" echo "Wartość '$key' zmieniona na '$value' w $file." changed=true else echo "'$key' nie znaleziono w $file. Dodaję wartość..." # Dodajemy wartość na końcu pliku echo "$key=$value" >> "$file" echo "Dodano '$key' z wartością '$value' do $file." changed=true fi done # Restart usługi jeśli dokonano jakiejkolwiek zmiany if [ "$changed" = true ]; then version="${file:14:2}" # Wyciągnięcie wersji z nazwy pliku echo "Restartowanie usługi php-fpm$version ze względu na zmiany..." systemctl restart "php-fpm$version" fi else echo "Plik $file nie istnieje." fi done