{"id":21981871,"url":"https://github.com/phoenixrvd/docker-php-environment","last_synced_at":"2026-04-15T10:34:34.254Z","repository":{"id":152112214,"uuid":"121426426","full_name":"phoenixrvd/docker-php-environment","owner":"phoenixrvd","description":"Eine Sammlung von Docker-Containern mit unterschiedlichen PHP-Versionen, gleichen INI-Einstellungen und PHP-Extensions.","archived":false,"fork":false,"pushed_at":"2018-03-06T09:32:19.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T13:58:06.858Z","etag":null,"topics":["apache2","docker","docker-compose","mit","mysql","pgsql","php","php56","php70","php71","php72"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phoenixrvd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-13T19:28:55.000Z","updated_at":"2018-03-06T22:45:20.000Z","dependencies_parsed_at":"2023-06-03T18:45:46.578Z","dependency_job_id":null,"html_url":"https://github.com/phoenixrvd/docker-php-environment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phoenixrvd/docker-php-environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenixrvd%2Fdocker-php-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenixrvd%2Fdocker-php-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenixrvd%2Fdocker-php-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenixrvd%2Fdocker-php-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phoenixrvd","download_url":"https://codeload.github.com/phoenixrvd/docker-php-environment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoenixrvd%2Fdocker-php-environment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31837279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T10:26:52.245Z","status":"ssl_error","status_checked_at":"2026-04-15T10:26:51.649Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache2","docker","docker-compose","mit","mysql","pgsql","php","php56","php70","php71","php72"],"created_at":"2024-11-29T17:20:00.212Z","updated_at":"2026-04-15T10:34:34.230Z","avatar_url":"https://github.com/phoenixrvd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHP - Development environment\n\nEine Sammlung von Docker-Containern mit unterschiedlichen PHP-Versionen, gleichen INI-Einstellungen und PHP-Extensions.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Anleitung](#anleitung)\n  - [Start](#start)\n  - [APP-Domäne](#app-dom%C3%A4ne)\n- [Purpose](#purpose)\n- [Funktionsweise](#funktionsweise)\n- [PHP](#php)\n  - [Hosts und Versionen](#hosts-und-versionen)\n  - [Extensions](#extensions)\n  - [Debugging und Profiling](#debugging-und-profiling)\n- [Datenbanken](#datenbanken)\n  - [Hosts und Versionen](#hosts-und-versionen-1)\n  - [Dump](#dump)\n  - [Restore](#restore)\n- [Login ins Container](#login-ins-container)\n- [Contributing](#contributing)\n- [Copyright and license](#copyright-and-license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Anleitung\n\n### Start\nEinfach in Projekt-Verzeichnis ablegen und folgendes in Console ausführen.\n \n```bash\ndocker-compose up\n```\n\n### APP-Domäne\n\nDamit die Webapp auf eine echte Domäne läuft, sollte man jeweilige Container-IP ([Apache2-Module](#Apache2-Module)) \nin statische DNS-Tabelle auf eigenem Rechner eintragen.\n\n* [Linux](https://wiki.ubuntuusers.de/hosts/)\n* [Windows](http://www.thewindowsclub.com/hosts-file-in-windows)\n* [Mac](https://www.tippscout.de/hosts-datei-mac-os-x_tipp_5032.html)\n\n## Purpose\n\nFast immer muss ein PHP-Entwickler seine Anwendung unter unterschiedlichen PHP-Version laufen lassen und testen.\n\nDas Aufsetzen von eine PHP-Umgebung kann teilweise Stunden in Anspruch nehmen. Die Sammlung startet gleichzeitig mehrere \nunterschiedliche PHP-Versionen und mappt sie automatisch auf lokale ports, sodass man ganz ohne Aufwand zwischen \nunterschiedlichen PHP-Versionen wechseln kann.\n\n## Funktionsweise\n\nDie Automatisierung ist mit [Docker Compose](https://docs.docker.com/compose/) realisiert und \nbleibt somit nach Möglichkeit eine Standard-Lösung.\n\n## PHP\n\nAlle PHP-Versionen sind offizielle [PHP-Docker-Container](https://docs.docker.com/samples/library/php/).\n\n### Hosts und Versionen\n\nFolgende Versionen sind als Apache2-Module installiert.\n\n| PHP    | URL                                     | IP            |\n| ------ | --------------------------------------- | ------------- |\n| 5.6.33 | [localhost:8056](http://localhost:8056) | 10.100.110.56 |\n| 7.0.27 | [localhost:8070](http://localhost:8070) | 10.100.110.70 |\n| 7.1.14 | [localhost:8071](http://localhost:8071) | 10.100.110.71 |\n| 7.2.2  | [localhost:8072](http://localhost:8072) | 10.100.110.72 |\n\n### Extensions\n\nListe aller installierten PHP-Extensions\n\n* xdebug\n* mcrypt\n* gd\n* curl\n* iconv\n* json\n* libxml\n* mbstring\n* mysqlnd\n* sqlite3\n* pgsql\n* mysql\n* zip\n* libxml\n* soap\n* mysqli\n* [IonCube](https://www.ioncube.com/loaders.php)\n\n### Debugging und Profiling\n\nBeim Starten eines Containers wird automatisch 'tmp' - Verzeichnis im Projekt-Root \nangelegt. Das Verzeichnis muss **unbedingt** beschreibbar gemacht werden, weil \nPHP da die cachegrid.* und trace.* Dateien mit www-data speichert.\n\nXdebug ist im Standard bereits aktiviert und kann in 'Auto-Mode' ohne \nbesondere IDE- und Server-Einstellungen genutzt werden. Gute Artikel dazu findet man\n[[hier](https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm)]\n\n## Datenbanken\n\nDatenbank-Server werden bereits mit eine datenbank installiert. Innerhalb von \nPHP-Container sind die Host-Namen bekannt. D.h. in eigene Applikation kann man \nals Host beispielsweise einfach 'mysql' verwenden. \n\nSollte man die Datenbank von IDE aus verwenden, so muss man die IP statt hostname\nnutzen.\n\nEs werden keine Dumps automatisch eingespielt, die Datenbanken werden Leer erzeugt.\nWenn man bereits eine SQL-Datei mit daten zur verfügung hat kann man sie [Manuell Einspielen](#restore)\n\n### Hosts und Versionen\n\n| Version                      | IP             | Host    | Port | User   | Password | Database |\n| ---------------------------- | -------------- | ------- | ---- | ------ | -------- | -------- |\n| MariaDB 10.2 (Like Mysql5.7) | 10.100.110.241 | mysql57 | 3306 | webapp | webapp   | webapp   |\n\n### Dump\n\nDie Sicherung-SQL werden im Standard unter ./tmp - Verzeichnis im Root - Verzeichnis des Projektes abgelegt.\n\nDei Einstellung kann man anpassen in dem man **DATABESES_BACKUP_PATH** in Environment setzt. (.env-Datei)\n\n```bash\ndocker exec phpenv_mysql57_1 dump\n```\n\n### Restore\n\nDie gesicherte Datenbanken kann man auch wiederherstellen.\n\n```bash\ndocker exec phpenv_mysql57_1 restore demps/backup.sql\n```\n\n1. Den Pfad muss relative zu Projekt-Root sein. \n2. Die Sym-Links werden nicht funktionieren.\n\n## Login ins Container\n\n```bash\ndocker exec -it \u003ccontainer_name\u003e /bin/bash\n```\n\nExample: 'docker exec -it phpenv_php56_1 /bin/bash'\n\n## Contributing\n\n**Aktualisieren von Inhaltsverzeichnis**\n\n```bash\ndoctoc README.md --notitle\n```\n\n## Copyright and license\n\nCode released under the [MIT License](https://opensource.org/licenses/MIT). ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoenixrvd%2Fdocker-php-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphoenixrvd%2Fdocker-php-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoenixrvd%2Fdocker-php-environment/lists"}