How to upgrade your PHP version on EasyPHP without paying for the warehouse packages

Explained in a few simple steps!

Index of contents:

Upgrading PHP version

I am upgrading from PHP 7.1.3 to PHP 7.3.7. You can refer to your own versions for the names of the folders, because I will use my case to explain what I did.
I have Apache 2.4.25 and my EasyPHP webserver is running with x86 architecture, so I will download the files related to my x86 architecture.

Download the new PHP version you want to install from https://windows.php.net/download/ (the Thread Safe version is recommended).

  1. Extract the zip file into a folder, I named it "php737vc15x86"
  2. Put the folder "php737vc15x86" into your binaries folder, for me it's C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php
  3. Now you have to copy some files from the old php version folder to the new one. In my case, I copied the following files:
    (From C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php713vc14x86x181028163946 into 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. Now in the new folder with your new php version, you have to update manually the eds-app-settings.php file. Read below:

This is my old one:

<?php
/**
* 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"
);
?>

This is my new one:

<?php
/**
* 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 this way, in your EasyPHP Dashboard you will see a new version coming up as 7.3.7 or whatever version you put.

Restart your webserver and, if you run a php file in your local website with phpinfo(); you should see the new version running.

If you have any issue just let me know, I will do my best to help you.

You might notice that I changed the xdebug lines also. I don't believe this is necessary but if you want, you can read how I did this below in the "Updating Xdebug" chapter.

Initially, when I did all this, I tried to use the x64 version of PHP, then I tried to upgrade also Apache from 2.4.25 x86 to 2.4.39 x64, but I didn't manage to do it probably because it is a different architecture. In case you want to move from x86 to x64, I think the only way is to reinstall EasyPHP using the x64 version. I just wanted to try it because I thought that maybe it would work the same, but I guess the .exe files used with EasyPHP are recompiled.

In my first try I updated several files manually but then after checking better I discovered that many files are auto-updated so it is easier than it looked like.

Let me know if you find other ways to do this upgrade.

Checking PHP extensions

Eventually, you can check your php.ini file (for me it's inside C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86) and see if it's using the correct extensions folder at this line:

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

In this folder you can put your extensions if you are using something particular. I didn't have anything to put inside but you should be able to download PHP extensions from https://pecl.php.net/packages.php

Upgrading Xdebug

Maybe you don't have xdebug, but just in case I will explain what I did.
You can download xdebug from https://xdebug.org/download.php
I chose the version that should be compatible with my PHP 7.3.7 VC 15: "PHP 7.3 VC15 (32 bit)". So I downloaded the "php_xdebug-2.7.2-7.3-vc15-nts.dll" file and placed it into the new PHP folder C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php737vc15x86.

Then, in the eds-app-settings.php that you can see scrolling up a bit, I updated these two lines:
'xdebug_version' => "2.5.1",
'xdebug_dll' => "php_xdebug-2.5.1-7.1-vc14.dll"

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

Restart your webserver.

Now if I check my EasyPHP Dashboard with the new version (http://127.0.0.1:1111/index.php?zone=applications&page=php&phpfolder=php737vc15x86) I can see this:
▪ version : 7.3.7
▪ compiler : VC15
▪ architecture : x86 (32-bit)
▪ xdebug : 2.7.2

Upgrading Apache

In my case I also tried to update Apache from the old version 2.4.25 x86 to 2.4.39 x86.
You can download it from https://www.apachelounge.com/download/ (Win32 is the x86 one, Win64 is the x64 one)
Put the content of the package you download into the httpserver folder: C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver
Copy and paste the following files from the old apache folder to the new one:

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

Warning: when you download the Apache package, the zip package gives you one folder (Apache24 or similar) and two files. These two files (readme.txt which is not that important, and a -- Win32 VS16 -- which is probably more important) has to go INSIDE the Apache24 folder because this is what EasyPHP did (at least for me, eventually you can double check your current Apache installation inside EasyPHP folders).
Then, I renamed Apache24 folder into apache2439vs16

So I now have: C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16

Let's change the eds-app-settings.php file in the new folder:

Old one:
<?php
/**
* 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"
);
?>

New one:

<?php
/**
* 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"
);
?>

Warning: in your EasyPHP dashboard you might see an error about some logs file missing. In this case, if you want, you can create the missing logs files or just copy paste them from the old Apache folder. In my case I copied error.log and access.log and httpd.pid from C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2425vc11x86x181028163946 into C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16

Now we need the eds-httpserver.exe from the old Apache folder C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2425vc11x86x181028163946\bin and we paste it into the new folder C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2439vs16
Warning: I am not sure this is the perfect solution but I don't see a way to have the correct .exe file since I am doing this manually.

Restart the webserver.

Note: if you are having issues with the ports, remember you can choose the port you want to start the webserver on from the EasyPHP Dashboard.

Now, check your local website. In my index.php i put phpinfo() and I have PHP 7.3.7 and Apache 2.4.39.

You can even delete the old Apache folders and PHP folders if you want. They are located respectively in \eds-binaries\httpserver and in \eds-binaries\php

If everything went correctly, you now have your webserver updated to the last version.

Leave a comment

*

*

*

No comments yet. Be the first to start the discussion!