Hello,
actually Aprelium has dedicated PHP packages on this page:
https://aprelium.com/downloads/php.html#win
But the problem with including PHP is always which version is the best one...
So far PHP isn't a monolithic software, that means that one might want many diferent major versions of it.
However the Aprelium PHP packages work fully offline, so they don't need Internet access after download.
If you were to download them all, you would need 5GB or more of disk space.
You also suggested including commonly known versions, that could work.
Even PHP 5.6 & PHP 7.4 could do the trick.
But then the next problem is that Abyss Web Server will want you to register it as an available interpreter in the console web interface.
But Abyss Web Server has a separate interpreter storage for each host, and it can't know in advance which ones need php on them.
-
So, in short considering the above and what you want:
- we could instead revamp the PHP packages of Aprelium to include an interpreter autoconfig URL.
- in the download page of Abyss Web Server, we could post direct quick links to PHP 5.3, 5.6, 8.0 & 8.2 packages by Aprelium.
- these packages would also save the autoconfig URL as a start menu URL shortcut (on Windows) or equivalent for Linux & Mac OS.
(While PHP 5.6.40 is likely fine anyway, the PHP 5.3 one might still need a safety disclaimer due to known vulnerabilities in the PHP-core itself.)
An interpreter autoconfig URL would be generated by the Aprelium PHP installer, by reading the registry (if on Windows) to know where Abyss is installed.
Then it could read abyss.conf (or registry) to get the console URL & the port number.
If that generated link is opened, the admin logs normally into the console and is then presented with the list of hosts with checkboxes.
The checked hosts then directly get configured for PHP as interpreter.
Aprelium also announced in another topic here that the next version will feature an easier way to use multiple versions of PHP on a single host.
For example, one PHP version per directory with many different directories.
-
Also, the reason for the generic approach for interpreters in Abyss is because one could also use Python, Perl or even a custom program as interpreter.
It could be CGI, ISAPI or FastCGI too.
So it would seem strange for Abyss to have a direct integration for one particular interpreter, since such integration would need to blend with the current interpreter configuration UI.
(A custom CGI interpreter for example is rather simple since it's actually reading STDIN & CGI environment variables, then outputting a raw HTTP response to STDOUT before closing its process with exit-code 0.)
-
Another thing to note is that XAMPP & WAMP aren't actually server softwares.
They're a package containing a pre-compiled Apache with a pre-configured PHP interpreter, and MySQL.
The actual XAMPP & WAMP programs are the configuration panels used to customize Apache, PHP & MySQL.
So it's not really possible to compare Abyss with WAMP or XAMPP, but it could be compared to Apache or Lighttpd instead for example.
We could even make a WAMP edition that uses Abyss instead of Apache :). It would be 'Windows Abyss MySQL PHP'.
-
So the reason for WAMP & XAMPP being able to do it but not Abyss is that they're a package/bundle of different softwares while Abyss is one software.
If Abyss does it then it will have to be in a different way such as what I described above.
I hope this answers your question, and that the alternative idea is still correct for what you want.