cytopia / devilbox

A modern Docker LAMP stack and MEAN stack for local development
http://devilbox.org
MIT License
4.41k stars 656 forks source link

PHP 1 #564

Open hurrtz opened 5 years ago

hurrtz commented 5 years ago
  1. I have verified that this is not a feature that has been reported before.

  2. It has not yet been implemented.

  3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this feature request -->

ISSUE TYPE

SUMMARY

How about you implement PHP 1? After all these releases of PHP and all these features that are not really required (namespaces, typings, ...) it would be interesting to compare a big website built in, e.g. PHP 8 with PHP 1. I believe that every other release of PHP has just added bloatware that reduce the time it takes to run an application.

Goal

Compare things. Or thongs.

mrtdk commented 5 years ago

lol

On 19. Apr 2019, at 00:39, Tobias Winkler notifications@github.com<mailto:notifications@github.com> wrote:

  1. I have verified that this is not a feature that has been reported before.

  2. It has not yet been implemented.

  3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this feature request -->

ISSUE TYPE

SUMMARY

How about you implement PHP 1? After all these releases of PHP and all these features that are not really required (namespaces, typings, ...) it would be interesting to compare a big website built in, e.g. PHP 8 with PHP 1. I believe that every other release of PHP has just added bloatware that reduce the time it takes to run an application.

Goal

Compare things. Or thongs.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/cytopia/devilbox/issues/564, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGX3HDFSOLUPQWYS3RZJNK3PRD2ARANCNFSM4HHAZTUA.

cytopia commented 5 years ago

Thank you very much for submitting your first issue on the Devilbox project. I hope you enjoy this project and that it makes your everyday development life easier.

How about you implement PHP 1?

TL;DR

Lool and most likely no, but bear with me.

Long answer

I myself also sometimes drift away in nostalgia and miss the good old days when everything was dead simple and your job in IT involved creating a whole website, managing confusing Suse Linux servers, refilling paper printer trays, giving Windows support and even changing light bulbs in the office.

But let me, for a very tiny moment and even if it hurrtz, pull you back to today's reality.

The internet has been commercialised and it is driven by complex company websites trying to sell you something or collect your data. The creation of a website now involves many different disciplines (e.g.: UX, Graphics, FE, BE, DevOps, QA, BI, SEO, SEM, Scrum masters and the management will probably also want to dictate upon you based on latest buzz-words from Twitter/Instagram).

To make this even possible, tools also had to evolve and become sufficiently complex to meet todays needs. Just to put this into perspective, PHP 1.0 (Personal Home Page Tools) has been initially released roughly during the same time when Windows 95 (Don't even thing about USB support) was born and when <marquee> was still the ace in the hole.

Announce: Personal Home Page Tools

It would be interesting to compare a big website built in, e.g. PHP 8 with PHP 1.

This is a very ambitious goal you have set for yourself and I am happy to see people still thinking outside the box and trying to go ways where very few people have been before. To keep you on the right track I will give you some things to consider or to overcome:

  1. A big website usually requires some kind of database connection and as far as I have understood the History of PHP this was not the case with the initial version.`
  2. The Devilbox uses separate container for PHP and the webserver, thus requiring something like PHP-FPM for network interaction between the two. PHP 1.0 was based on CGI and the oldest version with PHP-FPM support I could find was PHP 5.2 (see here: https://php-fpm.org)

The first issue can probably be solved by file-based persistent storage as an alternative to MySQL for example. However the second issue can not easily be addressed with the Devilbox and will most likely require a custom Docker image which bundles a webserver.

I believe that every other release of PHP has just added bloatware that reduce the time it takes to run an application.

I can fully understand you general concern, which probably extends across the whole software industry, about programs becoming more and more complex and trying to solve too many tasks at once.

This is however, in many cases, a requirement as problems and projects also have become much more complex and tools inevitablly need to grow accordingly to provide the required features. Building a skyscraper with hammer and nail would also be a very difficult task and we have therefore made our construction tools more sophisticated, but also more bloated.

If you are mainly concerned with performance, you should probably extend your research accross the PHP space and consider alternatives. You might even come up with your own bloat-free tool that drives you and your company to ultimate success and domination.

Goal

Compare things. Or thongs.

This gave me a bit of irritation and after a quick web search I am not sure If you've come to the right project. But my knowledge of proverbs is limited and I just leave this here as it is.

Summary

If you are able to backport or provide an FPM provider (https://php-fpm.org/) for PHP 1.0 or another alternative to make it work with a remote web server, I am willing to include it for the sake of nostalgia and your very ambitious goals.

hurrtz commented 5 years ago

Dear cytopia,

I must thank you for your thorough and complete answer. Your kind words have inspired me to think about providing you with a solution that might eventually merge into devilbox so that other people might enjoy the bliss of pure nostalgia.

Until that point I hereby bid you farewell. Might the code be always at your side!

Sincerely Johnny the Bonny

cytopia commented 5 years ago

Dear @hurrtz

Your kind words have inspired me to think about providing you with a solution [...] Until that point I hereby bid you farewell.

I might already stop you on your journey of deep meditation.

I have actually managed to make some progress on this request. It is not part of the Devilbox (and may never will be), but it is a standalone project which can easily be used cross-OS based on Docker.

Standalone projects

The following Docker image projects provide you with an out-of-the box solution to try out PHP 1.

Project State Comment
https://github.com/devilbox/docker-php-1.0 Partially working First PHP version
https://github.com/devilbox/docker-php-1.99s Fully working Latest 1.x version

For the sake of simplicity I have provided easy Makefile targets to get you started in no time.

# --- Applies to both projects ---

# Build locally
make build

# Run with proved `www/` example directory mounted
make run

http://nepsdotin.github.io/php-tutorial/site/unit-3/php-1/

Devilbox integration

Currently the only thing which is stopping a full Devilbox integration is a network capable wrapper for each of the PHP versions, which is required in order to separate them from the web server container.

Performance wishes

May all of your projects be boosted up, simplified and profitable as hell. In case (which I have no doubt about) you launch your successful business based on the smallest, fastest, simplest and best PHP version you could ever find in the wild, consider donating a few lines of superior code to the thirsty ones among us bloated Engineers, who layer caching on top of caching to get at least remotely close to your performance.

Might the code be always at your side!

Amen!

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.