🢂PHP ini, masowa zmiana wartości
Polecenia `sed` do edycji wielu plików `php.ini`.
Jeśli używasz wielu wersji PHP, pojawia się problem ze zmiana wartości we wszystkich plikach php.ini.
Możesz użyć poniższego polecenia sed, aby podmienić wartość post_max_size na 16G we wszystkich plikach znalezionych w wynikach:
Przykład użycia:
find . -type f \( -name "php.ini" -o -name "php.ini.*" \) -exec sed -i 's/post_max_size = [0-9]\+[GMK]/post_max_size = 16G/g' {} +
Wyjaśnienie:
find . -type f \( -name "php.ini" -o -name "php.ini.*" \): wyszukuje wszystkie pliki o nazwiephp.inioraz jego warianty (php.ini.*).exec sed -i 's/post_max_size = [0-9]\+[GMK]/post_max_size = 16G/g' {} +:s/post_max_size = [0-9]\+[GMK]/post_max_size = 16G/g:[0-9]\+dopasowuje liczby (8,8M,8000M,2048M,18G, itp.).[GMK]oznacza, że liczba jest zakończonaG,MlubK.- Zamienia każdą wartość na
16G.
Weryfikacja zmian:
Jeśli chcesz najpierw sprawdzić, jakie zmiany zostaną wprowadzone, użyj wersji sed bez opcji -i:
find . -type f \( -name "php.ini" -o -name "php.ini.*" \) -exec sed 's/post_max_size = [0-9]\+[GMK]/post_max_size = 16G/g' {} +
Jeśli chcesz dodatkowo zobaczyć, które pliki zostaną zmodyfikowane, możesz użyć:
grep -rl "post_max_size" .
To pozwoli ci zweryfikować, że wszystko działa zgodnie z oczekiwaniami przed dokonaniem trwałych zmian.
Podsumowanie:
Polecenie sed jest bardzo przydatne do masowej zmiany wartości w plikach php.ini. Pamiętaj, aby zawsze sprawdzić zmiany przed ich zastosowaniem, aby uniknąć niepożądanych skutków.