Spiegato in pochi semplici passi!

Indice dei contenuti:

Aggiornare la versione PHP

Io sto aggiornando la versione di PHP da 7.1.3 a 7.3.7. Puoi fare riferimento alle tue versioni per quanto riguarda i nomi delle cartelle perchè io userò il mio caso per spiegare quello che ho fatto.

Io uso Apache 2.4.25 e il mio webserver PHP usa l'architettura x86 quindi io scaricherò i file relativi alla mia architettura.

Scarica la versione PHP che vuoi installare da https://windows.php.net/download/ (la versione Thread Safe è quella consigliata).

  1. Estrai il file zip dentro una cartella, io l'ho chiamata "php737vc15x86"
  2. Inserisci la cartella "php737vc15x86" nella tua cartella "binaries", per me è in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php
  3. Ora dovrai copiare alcuni file dalla cartella della vecchia versione in quella nuova. Nel mio caso, ho copiato i seguenti file:
    (Da C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php713vc14x86x181028163946 a C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86)
    • eds-app-actions.php
    • eds-app-dashboard.php
    • eds-app-settings.php
    • php.ini
  4. Ora nella nuova cartella con la tua nuova versione di PHP, dovrai aggiornare manualmente il file eds-app-settings.php. Leggi sotto:

Questo è il mio vecchio file:

/**
* EasyPHP Devserver: a complete development environment
* @author Laurent Abbal <laurent@abbal.com>
* @link http://www.easyphp.org
*/

$php_settings = array();
$php_settings = array(
'app_type' => "language",
'app_type_name' => "php",
'app_name' => "PHP",
'app_tag' => "",
'app_version' => "7.1.3 x86",
'app_version_nb' => "7.1.3",
'app_build' => "VC14",
'app_mode' => "x86 (32-bit)",
'app_architecture' => "x86",
'app_website' => "www.php.net",
'app_website_url' => "http://www.php.net",
'app_icon' => "eds_icon_php.png",
'load_module_apache' => "php7_module",
'load_module_apache_dll' => "php7apache2_4.dll",
'xdebug_version' => "2.5.1",
'xdebug_dll' => "php_xdebug-2.5.1-7.1-vc14.dll"
);
?>

Questo è il nuovo:

/**
* EasyPHP Devserver: a complete development environment
* @author Laurent Abbal <laurent@abbal.com>
* @link http://www.easyphp.org
*/

$php_settings = array();
$php_settings = array(
'app_type' => "language",
'app_type_name' => "php",
'app_name' => "PHP",
'app_tag' => "",
'app_version' => "7.3.7 x86",
'app_version_nb' => "7.3.7",
'app_build' => "VC15",
'app_mode' => "x86 (32-bit)",
'app_architecture' => "x86",
'app_website' => "www.php.net",
'app_website_url' => "http://www.php.net",
'app_icon' => "eds_icon_php.png",
'load_module_apache' => "php7_module",
'load_module_apache_dll' => "php7apache2_4.dll",
'xdebug_version' => "2.7.2",
'xdebug_dll' => "php_xdebug-2.7.2-7.3-vc15-nts.dll"
);
?>

In questo modo, nella tua Dashboard di EasyPHP vedrai che appare una nuova versione 7.3.7 (o quella che hai installato)

Riavvia il tuo webserver e, se lanci un file PHP nel tuo sito web locale con phpinfo(); dovresti vedere la nuova versione utilizzata.

Se incontri delle difficoltà fammelo sapere con un commento, farò il possibile per aiutarti.

Noterai che ho anche cambiato le linee riguardanti xdebug. Non credo sia necessario, ma se vuoi farlo puoi leggere sotto come ho fatto nel capitolo "Aggiornare Xdebug"

Inizialmente, quando ho fatto tutto questo, ho provato ad usare la versione x64 di PHP, e ho provato ad aggiornare anche Apache dalla 2.4.25 x86 alla 2.4.39 x64, ma non ce l'ho fatto e penso che sia perchè l'architettura è diversa. Nel caso tu voglia passare dalla x86 alla x64 credo che sia necessario reinstallare EasyPHP utilizzando la versione x64. Ho voluto provarci comunque perchè speravo che forse avrebbe funzionato lo stesso, ma immagino che i file .exe usati da EasyPHP siano ricompilati.

Al mio primo tenativo avevo aggiornato manualmente tutta una serie di file che credevo fossero da aggiornare, in realtà ho notato che si aggiornavano in automatico riavviando il webserver, quindi era più semplice di quello che pensavo inizialmente.

Fammi sapere se hai trovato altri modi per eseguire questi aggiornamenti.

Controllare le estensioni PHP

Se necessario, puoi controllare il tuo file php.ini (per me è in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86) e vedere se usa la cartella corretta per le estensioni, a questa riga:

extension_dir = "C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86\ext"

In questa cartella puoi inserire le tue estensioni, se usavi qualcosa di particolare. Io non avevo nulla da metterci, ad ogni modo credo sia possibile scaricare le estensioni corrette da https://pecl.php.net/packages.php

Aggiornare Xdebug

Forse tu non hai xdebug, comunque ti spiego cosa ho fatto io.

Puoi scaricare xdebug da https://xdebug.org/download.php
Io ho scelto la versione che dovrebbe essere compatibile con il mio PHP 7.3.7 VC 15: "PHP 7.3 VC15 (32 bit)". Quindi ho scaricato il file "php_xdebug-2.7.2-7.3-vc15-nts.dll" e l'ho messo nella nuova cartella PHP C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86.

Quindi, nel file eds-app-settings.php che puoi vedere scrollando un po' sù, ho aggiornato queste righe:
'xdebug_version' => "2.5.1",
'xdebug_dll' => "php_xdebug-2.5.1-7.1-vc14.dll"

in:
'xdebug_version' => "2.7.2",
'xdebug_dll' => "php_xdebug-2.7.2-7.3-vc15-nts-x86_64.dll"

Riavvia il webserver.

Ora se controllo la mia Dashboard EasyPHP con la nuova versione (http://127.0.0.1:1111/index.php?zone=applications&page=php&phpfolder=php737vc15x86) vedo questo:

  • version : 7.3.7
  • compiler : VC15
  • architecture : x86 (32-bit)
  • xdebug : 2.7.2

Aggiornare Apache

Nel mio caso ho anche provato ad aggiornare Apache dalla vecchia versione 2.4.25 x86 alla 2.4.39 x86.
Puoi scaricarlo da https://www.apachelounge.com/download/ (Win32 è per x86, Win64 è per x64).
Inserisci i contenuti dell'archivio scaricato dentro la cartella httpserver: C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver
Copia e incolla i seguenti file dalla vecchia cartella Apache alla nuova:

  • eds-app-actions.php
  • eds-app-dashboard.php
  • eds-app-restart.php
  • eds-app-settings.php
  • eds-app-start.php
  • eds-app-stop.php

Attenzione: quando scarichi il pacchetto Apache, lo ZIP ti dà una cartella (Apache24 o simile) e due file. Questi due file (readme.txt che non è molto importante, e -- Win32 VS16 -- che probabilmente lo è) vanno messi DENTRO alla cartella Apache24, perchè questo è ciò che EasyPHP fa (almeno per me, casomai puoi verificare dentro la cartella della tua versione attuale di Apache).

Quindi ho rinominato la cartella Apache24 in apache2439vs16

Adesso ho C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16

Cambiamo il file eds-app-settings.php nella nuova cartella:

Vecchio file:
/**
* EasyPHP Devserver: a complete development environment
* @author Laurent Abbal <laurent@abbal.com>
* @link http://www.easyphp.org
*/

$app_settings = array();
$app_settings = array(
'app_type' => "httpserver",
'app_type_name' => "http server",
'app_name' => "Apache",
'app_version' => "2.4.25 x86",
'app_version_nb' => "2.4.25",
'app_build' => "VC11",
'app_mode' => "x86 (32-bit)",
'app_architecture' => "x86",
'app_website' => "httpd.apache.org",
'app_website_url' => "http://httpd.apache.org",
'app_icon' => "eds_icon_apache.png",
'app_supported_languages' => "PHP, Python, Ruby, Perl"
);
?>

Nuovo:

/**
* EasyPHP Devserver: a complete development environment
* @author Laurent Abbal <laurent@abbal.com>
* @link http://www.easyphp.org
*/

$app_settings = array();
$app_settings = array(
'app_type' => "httpserver",
'app_type_name' => "http server",
'app_name' => "Apache",
'app_version' => "2.4.39 x86",
'app_version_nb' => "2.4.39",
'app_build' => "VS16",
'app_mode' => "x86 (32-bit)",
'app_architecture' => "x86",
'app_website' => "httpd.apache.org",
'app_website_url' => "http://httpd.apache.org",
'app_icon' => "eds_icon_apache.png",
'app_supported_languages' => "PHP, Python, Ruby, Perl"
);
?>

Attenzione: nella tua dashboard EasyPHP potresti vedere alcuni errori relativi a dei file log mancanti. In tal caso, se vuoi, puoi creare i file mancanti o copiarli dalla vecchia cartella di Apache. Nel mio caso ho copiato i file error.log, access.log e httpd.pid da C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2425vc11x86x181028163946 a C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16

Ora ci serve il file eds-httpserver.exe nella vecchia cartella Apache C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2425vc11x86x181028163946\bin che va copiato dentro alla nuova cartella C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16

Attenzione: Non sono sicuro che questa sia la soluzione perfetta, ma non vedevo altro modo visto che sto eseguendo un aggiornamento manuale.

Riavvia il webserver.

Nota: se incontri problemi con le porte ricorda che puoi scegliere le porte che vuoi usare per il webserver nella Dashboard EasyPHP.

Ora controlla il tuo sito web locale. Nel mio index.php ho messo phpinfo() e vedo che sto usando PHP 7.3.7 con Apache 2.4.39.

Puoi anche eliminare le vecchie cartelle Apache e PHP se vuoi. Sono rispettivamente in \eds-binaries\httpserver e in \eds-binaries\php

Se tutto è andato bene, ora hai il tuo webserver aggiornato all'ultima versione.

Comments

*
*
  • 2022-12-08 17:16:38

    Author: yomom

    Comment: Apparently they abandoned the project. Wanted to quickly make webserver for development of website but it tuned into manual updating these things without any final success. When you click "start server" it does nothing and doesn't write anything good in the log.