@echo off
@title Aggiornamento dell'installazione di PHP
@rem Per rendere funzionante questo script è necessario far puntare la directory di PHP
@rem nei settaggi di Apache a "latest" (esempio: "C:\php\latest\php%MAJOR_VERSION%apache2_4.dll").
@rem Inoltre, se si vuole permettere l'importazione di php.ini, è necessario avere il
@rem suddetto file nella directory superiore a "latest" (esempio: "C:\php\php.ini").
:aval-versions
@echo Versioni disponibili:
@echo.
@rem Mostra tutte le versioni disponibili
@dir /a:d /b | findstr /v "alt" | findstr /v "ext" | findstr /v "latest"
@echo.
set /p ver="Quale versione deve essere impostata come corrente? "
@echo.
if exist %ver% (
@rem Rimuove il symlink a latest e ne crea uno nuovo alla versione specificata
rmdir latest
mklink /d latest %ver%
@echo.
:php-ini
set /p importPHPINI="Importare php.ini? (Y/N) [Y]: "
if [%importPHPINI%]==[] set importPHPINI=y
if /i not [%importPHPINI%]==[%importPHPINI:y=%] (
@echo Creazione link al file php.ini...
mklink "latest/php.ini" "php.ini"
) else (
if /i not [%importPHPINI%]==[%importPHPINI:n=%] (
@echo Importazione php.ini ignorata.
) else (
echo La scelta indicata non è presente fra quelle disponibili.
goto php-ini
)
)
@echo.
@rem Riavvio di Apache
@net stop Apache2.4
net start Apache2.4
@rem Crea un link simbolico a PHP come eseguibile in WSL
:wsl-symlink
set /p createSymlinkWSL="Creare link simbolico per PHP come runtime in WSL (richiede password)? (Y/N) [Y]: "
if [%createSymlinkWSL%]==[] set createSymlinkWSL=y
if /i not [%createSymlinkWSL%]==[%createSymlinkWSL:y=%] (
@echo Creazione link simbolico in /usr/bin/php (WSL)...
wsl [ ! -f "/usr/bin/php" ] && wsl ln -s "/mnt/c/php/latest/php.exe" "/usr/bin/php"
) else (
if /i not [%createSymlinkWSL%]==[%createSymlinkWSL:n=%] (
@echo Creazione link simbolico in /usr/bin/php (WSL) ignorata.
) else (
echo La scelta indicata non è presente fra quelle disponibili.
goto wsl-symlink
)
)
@echo.
@pause
@exit
) else (
echo Versione indicata non disponibile.
echo.
goto aval-versions
)
Comments