{"id":50719326,"url":"https://github.com/novaardiansyah/xampp-multi-php","last_synced_at":"2026-06-09T22:01:59.269Z","repository":{"id":333686648,"uuid":"1138279062","full_name":"novaardiansyah/xampp-multi-php","owner":"novaardiansyah","description":"XAMPP Multi PHP Versions","archived":false,"fork":false,"pushed_at":"2026-01-20T16:36:41.000Z","size":432,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-20T22:25:44.192Z","etag":null,"topics":["multi-php","php","xampp"],"latest_commit_sha":null,"homepage":"https://novaardiansyah.id","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novaardiansyah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-20T13:21:51.000Z","updated_at":"2026-01-20T16:36:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/novaardiansyah/xampp-multi-php","commit_stats":null,"previous_names":["novaardiansyah/xampp-multi-php"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/novaardiansyah/xampp-multi-php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novaardiansyah%2Fxampp-multi-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novaardiansyah%2Fxampp-multi-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novaardiansyah%2Fxampp-multi-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novaardiansyah%2Fxampp-multi-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novaardiansyah","download_url":"https://codeload.github.com/novaardiansyah/xampp-multi-php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novaardiansyah%2Fxampp-multi-php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34127345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["multi-php","php","xampp"],"created_at":"2026-06-09T22:01:59.182Z","updated_at":"2026-06-09T22:01:59.255Z","avatar_url":"https://github.com/novaardiansyah.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XAMPP Multi PHP Versions\n\nHi Future Developer,\n\nWelcome to the **XAMPP Multi PHP Versions** setup guide! This project is a tutorial for configuring multiple PHP versions within a single XAMPP installation using custom ports for each version.\n\nThis guide is designed for developers who need to run legacy projects alongside modern ones or test their applications across different PHP environments without the hassle of multiple XAMPP installations.\n\n## Dazzling Tech Stack\n\n- [XAMPP](https://www.apachefriends.org/) - Local Server Environment\n- [PHP](https://www.php.net/) - Server-side language\n- [Apache](https://httpd.apache.org/) - Web Server\n\n## First Preparation\n\nBefore starting, you need to download the **PHP Binaries** first. You can download them via the following link: [https://novadev.my.id/4Vufz0Q](https://novadev.my.id/4Vufz0Q) or [https://windows.php.net/downloads/releases/archives](https://windows.php.net/downloads/releases/archives).\n\nAfter downloading, extract the PHP binary zip file into your XAMPP installation directory (e.g., `C:\\xampp\\`). Ensure the folder name matches the version, such as `C:\\xampp\\php5_6_12` or `C:\\xampp\\php8_3_21`.\n\n\u003e **Warning:** Pay close attention to the PHP binaries folder name when extracting it to your XAMPP directory. The examples in this guide use the `C:\\xampp\\` directory.\n\n## Configuration Steps\n\n### 1. Configure php.ini\n\nGo to your PHP binaries folder and look for the `php.ini` file. If it doesn't exist, copy `php.ini-production` and rename it to `php.ini`.\n\nOpen `php.ini` and make the following changes:\n- **Enable extension_dir**: Find `;extension_dir` and remove the `;` to activate it. Set its value to the absolute path of your PHP version's `ext` folder.\n  - Example for PHP 5.6.12: `extension_dir = \"C:\\xampp\\php5_6_12\\ext\"`\n  - Example for PHP 8.3.21: `extension_dir = \"C:\\xampp\\php8_3_21\\ext\"`\n- **Enable Essential Extensions**: Search for the `Dynamic Extensions` section and uncomment the extensions required for your projects by removing the `;` prefix. The following are commonly used: `bz2, curl, fileinfo, gd, gettext, intl, mbstring, exif, odbc, mysqli, pgsql, openssl, pdo_mysql, pdo_odbc, pdo_pgsql, pdo_sqlite, sqlite3, zip`.\n\n\u003e **Note:** Just a heads up: extensions depend on the PHP version. Check your `ext` folder to see what you've got to work with.\n\n### 2. Edit httpd-xampp.conf\n\nOpen your original XAMPP `C:\\xampp\\apache\\conf\\extra\\httpd-xampp.conf` file. Scroll to the very bottom and add the following configuration code according to the PHP version you are using.\n\n**Example for PHP 8.3.21 (Port 1183):**\n\n```apache\nScriptAlias /php8_3_21/ \"C:/xampp/php8_3_21/\"\n\u003cDirectory \"C:/xampp/php8_3_21\"\u003e\n    AllowOverride None\n    Options None\n    Require all denied\n    \u003cFiles \"php-cgi.exe\"\u003e\n          Require all granted\n    \u003c/Files\u003e\n\u003c/Directory\u003e\n\nListen 1183\n\u003cVirtualHost *:1183\u003e\n    UnsetEnv PHPRC\n    \u003cFilesMatch \"\\.php$\"\u003e\n        php_flag engine off\n        SetHandler application/x-httpd-php8_3_21\n        Action application/x-httpd-php8_3_21 \"/php8_3_21/php-cgi.exe\"\n    \u003c/FilesMatch\u003e\n\u003c/VirtualHost\u003e\n```\n\n**Example for PHP 5.6.12 (Port 1156):**\n\n```apache\nScriptAlias /php5_6_12/ \"C:/xampp/php5_6_12/\"\n\u003cDirectory \"C:/xampp/php5_6_12\"\u003e\n    AllowOverride None\n    Options None\n    Require all denied\n    \u003cFiles \"php-cgi.exe\"\u003e\n          Require all granted\n    \u003c/Files\u003e\n\u003c/Directory\u003e\n\nListen 1156\n\u003cVirtualHost *:1156\u003e\n    UnsetEnv PHPRC\n    \u003cFilesMatch \"\\.php$\"\u003e\n        php_flag engine off\n        SetHandler application/x-httpd-php5_6_12\n        Action application/x-httpd-php5_6_12 \"/php5_6_12/php-cgi.exe\"\n    \u003c/FilesMatch\u003e\n\u003c/VirtualHost\u003e\n```\n\nYou can add as many PHP versions as you need by repeating the pattern above and adjusting the ports and directory names accordingly.\n\n### 3. Create info.php File\n\nOpen the `C:\\xampp\\htdocs` directory and create a new file named `info.php`. Insert the following code:\n\n```php\n\u003c?php phpinfo(); ?\u003e\n```\n\nThis file only needs to be created once for all the PHP versions you configure.\n\n### 4. Restart XAMPP\n\nOnce all configurations are complete, please restart Apache through the XAMPP Control Panel. If successful, the ports you have opened will appear as shown in the image below:\n\n\u003cimg src=\"images/Screenshot_1.png\" width=\"600\" alt=\"XAMPP Ports\" /\u003e\n\n## Testing PHP Versions\n\nAfter Apache is running again, you can test each PHP version by accessing the following URLs in your browser:\n\n- **PHP 5.6:** [http://localhost:1156/info.php](http://localhost:1156/info.php)\n\n  \u003cimg src=\"images/Screenshot_2.png\" width=\"600\" alt=\"PHP 5.6 Version\" /\u003e\n\n- **PHP 8.3:** [http://localhost:1183/info.php](http://localhost:1183/info.php)\n\n  \u003cimg src=\"images/Screenshot_3.png\" width=\"600\" alt=\"PHP 8.3 Version\" /\u003e\n\n---\n\n**Happy coding!**\n\n— Nova Ardiansyah\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovaardiansyah%2Fxampp-multi-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovaardiansyah%2Fxampp-multi-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovaardiansyah%2Fxampp-multi-php/lists"}