This commit is contained in:
Pinga 2024-08-23 18:17:54 +03:00
parent c565cfc99f
commit 81c20630d9

View file

@ -11,15 +11,16 @@ prompt_for_password() {
echo $password echo $password
} }
# Function to edit or add a configuration line in php.ini # Function to ensure a setting is present, uncommented, and correctly set
edit_php_ini() { set_php_ini_value() {
local file=$1 local ini_file=$1
local setting=$2 local key=$2
local value=$3 local value=$3
if grep -q "^;\?\s*${setting}\s*=" "$file"; then
sed -i "s/^\(;?\s*${setting}\s*=\).*/\1 ${value}/" "$file" if grep -qE "^\s*;?\s*${key}\s*=" "$ini_file"; then
sed -i "s/^\s*;?\s*${key}\s*=.*/${key} = ${value}/" "$ini_file"
else else
echo "${setting} = ${value}" >> "$file" echo "${key} = ${value}" >> "$ini_file"
fi fi
} }
@ -92,35 +93,42 @@ if [[ ("$OS" == "Ubuntu" && "$VER" == "22.04") || ("$OS" == "Ubuntu" && "$VER" =
timedatectl set-timezone UTC timedatectl set-timezone UTC
fi fi
# Edit php.ini files # Determine PHP configuration files based on OS and version
if [[ "$OS" == "Ubuntu" && "$VER" == "24.04" ]]; then if [[ "$OS" == "Ubuntu" && "$VER" == "24.04" ]]; then
phpIniCli='/etc/php/8.3/cli/php.ini' phpIniCli='/etc/php/8.3/cli/php.ini'
phpIniFpm='/etc/php/8.3/fpm/php.ini' phpIniFpm='/etc/php/8.3/fpm/php.ini'
phpIniOpcache='/etc/php/8.3/mods-available/opcache.ini'
else else
phpIniCli='/etc/php/8.2/cli/php.ini' phpIniCli='/etc/php/8.2/cli/php.ini'
phpIniFpm='/etc/php/8.2/fpm/php.ini' phpIniFpm='/etc/php/8.2/fpm/php.ini'
phpIniOpcache='/etc/php/8.2/mods-available/opcache.ini'
fi fi
echo "Updating PHP configuration..." # Update php.ini files
for file in "$phpIniCli" "$phpIniFpm"; do set_php_ini_value "$phpIniCli" "opcache.enable" "1"
edit_php_ini "$file" "opcache.enable" "1" set_php_ini_value "$phpIniCli" "opcache.enable_cli" "1"
edit_php_ini "$file" "opcache.enable_cli" "1" set_php_ini_value "$phpIniCli" "opcache.jit_buffer_size" "100M"
edit_php_ini "$file" "opcache.jit_buffer_size" "100M" set_php_ini_value "$phpIniCli" "opcache.jit" "1255"
edit_php_ini "$file" "opcache.jit" "1255" set_php_ini_value "$phpIniCli" "session.cookie_secure" "1"
edit_php_ini "$file" "session.cookie_secure" "1" set_php_ini_value "$phpIniCli" "session.cookie_httponly" "1"
edit_php_ini "$file" "session.cookie_httponly" "1" set_php_ini_value "$phpIniCli" "session.cookie_samesite" "\"Strict\""
edit_php_ini "$file" "session.cookie_samesite" "\"Strict\"" set_php_ini_value "$phpIniCli" "session.cookie_domain" "\"$REGISTRY_DOMAIN,cp.$REGISTRY_DOMAIN,whois.$REGISTRY_DOMAIN\""
edit_php_ini "$file" "session.cookie_domain" "example.com" set_php_ini_value "$phpIniCli" "memory_limit" "2G"
edit_php_ini "$file" "memory_limit" "512M"
done
if [[ "$OS" == "Ubuntu" && "$VER" == "24.04" ]]; then # Repeat the same settings for php-fpm
edit_php_ini "/etc/php/8.3/mods-available/opcache.ini" "opcache.jit" "1255" set_php_ini_value "$phpIniFpm" "opcache.enable" "1"
edit_php_ini "/etc/php/8.3/mods-available/opcache.ini" "opcache.jit_buffer_size" "100M" set_php_ini_value "$phpIniFpm" "opcache.enable_cli" "1"
else set_php_ini_value "$phpIniFpm" "opcache.jit_buffer_size" "100M"
edit_php_ini "/etc/php/8.2/mods-available/opcache.ini" "opcache.jit" "1255" set_php_ini_value "$phpIniFpm" "opcache.jit" "1255"
edit_php_ini "/etc/php/8.2/mods-available/opcache.ini" "opcache.jit_buffer_size" "100M" set_php_ini_value "$phpIniFpm" "session.cookie_secure" "1"
fi set_php_ini_value "$phpIniFpm" "session.cookie_httponly" "1"
set_php_ini_value "$phpIniFpm" "session.cookie_samesite" "\"Strict\""
set_php_ini_value "$phpIniFpm" "session.cookie_domain" "\"$REGISTRY_DOMAIN,cp.$REGISTRY_DOMAIN,whois.$REGISTRY_DOMAIN\""
set_php_ini_value "$phpIniFpm" "memory_limit" "2G"
# Update opcache.ini
set_php_ini_value "$phpIniOpcache" "opcache.jit" "1255"
set_php_ini_value "$phpIniOpcache" "opcache.jit_buffer_size" "100M"
# Restart PHP-FPM service # Restart PHP-FPM service
echo "Restarting PHP FPM service..." echo "Restarting PHP FPM service..."