{"id":20208170,"url":"https://github.com/cubiclesoft/portable-apache-maria-db-php-for-windows","last_synced_at":"2025-10-29T17:36:23.243Z","repository":{"id":11011785,"uuid":"13338229","full_name":"cubiclesoft/portable-apache-maria-db-php-for-windows","owner":"cubiclesoft","description":"Portable Apache + Maria DB + PHP for Windows is for web developers who prefer manually editing configuration files and want \"manual\" but quick startup of Apache and Maria DB (no Windows services). No more hunting for ZIP files for each separate piece of software.","archived":false,"fork":false,"pushed_at":"2023-02-17T00:50:03.000Z","size":11304,"stargazers_count":52,"open_issues_count":0,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T11:38:45.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/cubiclesoft.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":"support/base.php","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-05T01:19:22.000Z","updated_at":"2024-11-26T17:42:49.000Z","dependencies_parsed_at":"2023-02-18T18:31:44.003Z","dependency_job_id":null,"html_url":"https://github.com/cubiclesoft/portable-apache-maria-db-php-for-windows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cubiclesoft%2Fportable-apache-maria-db-php-for-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cubiclesoft%2Fportable-apache-maria-db-php-for-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cubiclesoft%2Fportable-apache-maria-db-php-for-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cubiclesoft%2Fportable-apache-maria-db-php-for-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cubiclesoft","download_url":"https://codeload.github.com/cubiclesoft/portable-apache-maria-db-php-for-windows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248221416,"owners_count":21067543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-14T05:34:24.855Z","updated_at":"2025-10-29T17:36:23.169Z","avatar_url":"https://github.com/cubiclesoft.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Portable Apache + Maria DB + PHP for Windows\n============================================\n\nThis project is for web developers who prefer manually editing configuration files and want \"manual\" but quick startup of Apache and Maria DB (no Windows services).  No more hunting for ZIP files for each separate piece of software.\n\nIf XAMPP and similar incarnations are not really your style (e.g. you prefer the command-line and think phpMyAdmin is for weaklings), then this project might be more up your alley.  Note that the primary purpose of this project is to set up a quick-and-dirty local WAMP install that just works and is not intended for use on production servers.\n\n[![Donate](https://cubiclesoft.com/res/donate-shield.png)](https://cubiclesoft.com/donate/) [![Discord](https://img.shields.io/discord/777282089980526602?label=chat\u0026logo=discord)](https://cubiclesoft.com/product-support/github/)\n\nFeatures\n--------\n\n* Classic Apache + Maria DB + PHP combo in a portable format.\n* A flashback from the past:  Batch files!  install.bat, start_server.bat, and stop_server.bat to install, start, and stop the software respectively.\n* Installation is designed to just adapt paths to the current host.  No registry mess, no Windows services, no problem.\n* Has a liberal open source license.  MIT or LGPL, your choice.  (Only applies to the new files that this project adds.  Each product has its own separate license.  See below.)\n* Designed for relatively painless integration into your Windows environment.\n* Sits on GitHub for all of that pull request and issue tracker goodness to easily submit changes and ideas respectively.\n\nUseful Information\n------------------\n\nDo the whole 'git clone' thing to obtain the latest release.  Then run 'install.bat' to get the configuration files set up quickly.  Note that you will need approximately 2GB free to successfully complete the installation.\n\nRun 'start_server.bat' to start the Apache web server and Maria DB database server.  To stop both servers, run 'stop_server.bat'.\n\nTo upgrade to the latest version, stop the servers with 'stop_server.bat', run 'git pull', and then run 'upgrade.bat'.\n\nTo check for the latest version (and bugs in the scraper), run 'check.bat'.\n\nTo only install or upgrade one or two of the packages, run 'install.bat' with one or more of these options:  apache, maria_db, php\n\nFor example:  upgrade.bat php\n\nTroubleshooting\n---------------\n\nRequires 'taskkill.exe' for 'stop_server.bat' to work properly.  This is part of Windows XP and later.\n\nIf the PHP module for Apache fails to load or if you want to always have `php.exe` be more conveniently available from the command-line, modifying the system or user PATH environment variable can solve both problems AND create new problems.  On Windows 10, the PATH is inconveniently buried under:  Control Panel -\u003e System -\u003e Advanced system settings -\u003e Environment Variables... -\u003e PATH.  Note that adding paths to the system or user PATH are problematic for other applications that run on the same system, which can result in [DLL hell](https://en.wikipedia.org/wiki/DLL_Hell) and also slow down the overall system.  But adding an item to the PATH can make it easier to run both Apache and `php.exe` from the command-line without having to duplicate a bunch of DLLs when using PECL.\n\nInstalling PECL Extensions\n--------------------------\n\n[PECL](https://pecl.php.net/) contains a number of powerful and popular extensions for PHP such as [Xdebug](https://pecl.php.net/package/xdebug), [ImageMagick](https://pecl.php.net/package/imagick), [Redis](https://pecl.php.net/package/redis), etc.  Getting them to work on Windows can be challenging.  The following is a general guide.\n\nMost PECL packages work on Linux hosts since Linux is the defacto server OS in the world and also PECL's native environment.  When a PECL package supports Windows, a little Windows icon plus a \"DLL\" appears next to it.  There are far fewer packages with Windows support.  The PECL DLLs are precompiled versions for several versions of PHP.  The PECL subsystem automatically builds binaries for Windows when support is declared for those PECL packages.  Whether or not a downloaded compiled DLL actually works with PHP is a completely different issue.\n\nThere are typically four flavors of DLL in PECL:  NTS x64, TS x64, NTS x86, and TS x86.  This project currently uses:  64-bit (x64) Thread-safe (TS) PHP.  So the PECL DLLs you want are of the \"TS x64\" variety.\n\nFrom a command-line, run `php.exe -v`.  That will provide the current working version and also verify x64 vs x86 PHP.\n\nDownloading the right DLL is only the start.  The next step is to update the `php.ini` and verify that the DLL is set up correctly.  Each extension is different.  PECL extensions generally go into the `php/ext` subdirectory.  There are two areas to update in `php.ini`:\n\n```\nextension_dir = \"C:/path/to/php/ext\"  \u003c-- If not already uncommented.\n\n...\n\nextension=extname    \u003c-- In general, no .dll\nzend_extention=zendextname  \u003c-- Rare.  Mostly just Xdebug and Zend opcache these days.\n```\n\nFor some extensions, you will need additional downloads.  In particular, ImageMagick requires many additional DLLs to function.  The PECL extension only provides the necessary glue between the ImageMagick DLLs, PHP core, and PHP userland (i.e. your PHP-based application).  In addition, you need to match x86/x64 DLLs with PHP.  If you prefer portable software, which you probably do if you are using this project, then you'll need to find a portable flavor of the library that only includes the required DLLs and not an installer.\n\nSome extensions are Zend extensions (e.g. Xdebug) and require a `zend_extension` line instead of `extension` in `php.ini`.  A number of PECL extensions also add `php.ini` options.\n\nFrom a command-line, run `php.exe -v` again.  That will verify that PHP didn't have any problems loading the extension.  If it does, a dialog box will appear indicating it failed to load and then you have a lot of work ahead of you to determine why it failed.  These tools are your friend:\n\n* [Microsoft SysInternals Process Monitor](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) - Watching for `php.exe` processes and the DLLs they attempt to load and what paths they attempt to load them from.\n* [Dependencies](https://github.com/lucasg/Dependencies) - Tossing the PECL extension DLL in to see dependency trees and whether or not Windows will be able to load the DLL itself.\n\nThe Windows EXE/DLL loader has [complex, broken rules](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order) on how it loads DLLs into RAM.  In general, third-party DLLs that the PECL extension depend on (e.g. ImageMagick DLLs) go into the same directory as the running executable OR somewhere on the system/user PATH.  The rules for how the Windows loader works basically invite wrecking a pristine Windows installation.  Knowing how the Windows loader works under the hood will make your life a LOT easier when working with PECL extensions.\n\nSources\n-------\n\nThe Apache web server is under the Apache License, Version 2.0.  (http://www.apache.org/licenses/LICENSE-2.0.html)\n\nhttp://www.apachelounge.com/download/win32/\n\nThe Maria DB database server is under the GPL.  (https://mariadb.com/kb/en/mariadb-license/)\n\nhttps://downloads.mariadb.org/\n\nThe PHP scripting language is under the PHP License.  (http://www.php.net/license/3_01.txt)\n\nhttp://windows.php.net/download/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubiclesoft%2Fportable-apache-maria-db-php-for-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcubiclesoft%2Fportable-apache-maria-db-php-for-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcubiclesoft%2Fportable-apache-maria-db-php-for-windows/lists"}