touch updatePHP.sh
sudo chmod +x updatePHP.sh
nano updatePHP.sh

Na devil

touch updatePHP.sh
chmod +x updatePHP.sh
nano updatePHP.sh

Na Apache

#!/bin/bash

#---------------------------------------------------------
# Skrypt aktualizujący PHP dla Drupal
# ©2025 Dariusz Frączkiewicz 
#---------------------------------------------------------

set -e
HTACCESS_FILE="web/.htaccess"

HOSTING1_DR="vendor/bin/drush"
HOSTING1_COMP="composer"

HOSTING2_DR="drush"
HOSTING2_COMP="composer"

HOSTING3_DR="php84 vendor/drush/drush/drush.php"
HOSTING3_COMP="php84 /usr/local/bin/composer.phar"


#############################################

# USTAWIENIA
PHP84=true
LOGIN=false
WP=false

# Wybór hostingu
HOSTING_DR=$HOSTING1_DR
HOSTING_COMP=$HOSTING1_COMP

# Czy potrzebne sudo (np. FreeBSD hosting)
USE_SUDO=true

#############################################
# Uprawnienia
#############################################
if [ "$USE_SUDO" = true ]; then
    sudo chmod 775 web/sites/default
else
    chmod 775 web/sites/default
fi


#############################################
# Wykrycie systemu (Linux vs FreeBSD)
#############################################
SED_INPLACE="sed -i"
if [[ "$OSTYPE" == "freebsd"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
    SED_INPLACE="sed -i ''"
fi

#############################################
# 1. Blokada /user/login
#############################################
if [ "$LOGIN" = true ]; then
    if ! grep -q "RewriteRule \^user/login" "$HTACCESS_FILE"; then
        $SED_INPLACE '1i\
# Blokada dostępu do /user/login\
RewriteRule ^user/login$ - [F,L]\
' "$HTACCESS_FILE"

        echo "Dodano blokadę /user/login."
    else
        echo "Blokada /user/login już istnieje."
    fi
fi

#############################################
# 2. Blokada WordPress
#############################################
if [ "$WP" = true ]; then
    if ! grep -E -q "wp-login|wp-admin" "$HTACCESS_FILE"; then
        $SED_INPLACE '/<\/IfModule>/i\
# Blokuj WordPress\
RewriteRule ^(wp-login|wp-admin|wp-config|wp-content|wp-includes) - [F,L]\
' "$HTACCESS_FILE"

        echo "Dodano blokadę WordPress."
    else
        echo "Reguła WordPress już istnieje."
    fi
fi

#############################################
# 3. PHP 8.4
#############################################
if [ "$PHP84" = true ]; then
    if ! grep -q "php8.4-fpm.sock" "$HTACCESS_FILE"; then
        echo "Dodawanie PHP 8.4..."

        echo '<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/php8.4-fpm.sock|fcgi://localhost"
</FilesMatch>' >> "$HTACCESS_FILE"
    else
        echo "PHP 8.4 już ustawione."
    fi
fi

echo "Gotowe!"

 

Na Devil

#!/bin/bash

#---------------------------------------------------------
# Skrypt aktualizujący PHP dla Drupal
# ©2025 Dariusz Frączkiewicz 
#---------------------------------------------------------

set -e
HTACCESS_FILE="web/.htaccess"

HOSTING1_DR="vendor/bin/drush"
HOSTING1_COMP="composer"

HOSTING2_DR="drush"
HOSTING2_COMP="composer"

HOSTING3_DR="php84 vendor/drush/drush/drush.php"
HOSTING3_COMP="php84 /usr/local/bin/composer.phar"


#############################################

# USTAWIENIA
PHP84=true
LOGIN=false
WP=false

# Wybór hostingu
HOSTING_DR=$HOSTING1_DR
HOSTING_COMP=$HOSTING1_COMP

# Czy potrzebne sudo (np. FreeBSD hosting)
USE_SUDO=false

#############################################
# Uprawnienia
#############################################
if [ "$USE_SUDO" = true ]; then
    sudo chmod 775 web/sites/default
else
    chmod 775 web/sites/default
fi

#############################################
# Wykrycie systemu (Linux vs FreeBSD)
#############################################
SED_INPLACE="sed -i"
if [[ "$OSTYPE" == "freebsd"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
    SED_INPLACE="sed -i ''"
fi

#############################################
# 1. Blokada /user/login
#############################################
if [ "$LOGIN" = true ]; then
    if ! grep -q "RewriteRule \^user/login" "$HTACCESS_FILE"; then
        $SED_INPLACE '1i\
		# Blokada dostępu do /user/login\
		RewriteRule ^user/login$ - [F,L]\
		' "$HTACCESS_FILE"

        echo "Dodano blokadę /user/login."
    else
        echo "Blokada /user/login już istnieje."
    fi
fi

#############################################
# 2. Blokada WordPress
#############################################
if [ "$WP" = true ]; then
    if ! grep -E -q "wp-login|wp-admin" "$HTACCESS_FILE"; then
        $SED_INPLACE '/<\/IfModule>/i\
		# Blokuj WordPress\
		RewriteRule ^(wp-login|wp-admin|wp-config|wp-content|wp-includes) - [F,L]\
		' "$HTACCESS_FILE"

        echo "Dodano blokadę WordPress."
    else
        echo "Reguła WordPress już istnieje."
    fi
fi

#############################################
# 3. PHP 8.4
#############################################
if [ "$PHP84" = true ]; then
    PHP_RULE="AddType application/x-httpd-php84 .php"

	if grep -q "application/x-httpd-php" "$HTACCESS_FILE"; then
  	echo "Reguła PHP już istnieje (lub inna wersja jest zdefiniowana) — pomijam."
	else
  	# Dodajemy pustą linię dla porządku i regułę na samym końcu pliku
  	echo "" >> "$HTACCESS_FILE"
  	echo "# Ustawienie wersji PHP 8.4" >> "$HTACCESS_FILE"
  	echo "$PHP_RULE" >> "$HTACCESS_FILE"
  	echo "Dodano obsługę PHP 8.3 na koniec pliku."
	fi
fi

echo "Gotowe!"

 

Spis treści: