🢂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.ini
oraz 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
,M
lubK
.- 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.