PHPackages                             opencart/opencart - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. opencart/opencart

ActiveProject[Framework](/categories/framework)

opencart/opencart
=================

OpenCart

4.1.0.3(1y ago)8.1k35.9k—0%5.0k[1 issues](https://github.com/opencart/opencart/issues)[28 PRs](https://github.com/opencart/opencart/pulls)5GPL-3.0-or-laterPHPPHP &gt;=8.0.2CI failing

Since Mar 2Pushed 1mo ago586 watchersCompare

[ Source](https://github.com/opencart/opencart)[ Packagist](https://packagist.org/packages/opencart/opencart)[ Docs](https://www.opencart.com/)[ RSS](/packages/opencart-opencart/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (30)Used By (5)Security (17)

OpenCart
========

[](#opencart)

Overview
--------

[](#overview)

OpenCart is a free open source ecommerce platform for online merchants. OpenCart provides a professional and reliable foundation to build a successful online store.

[![Minimum PHP Version](https://camo.githubusercontent.com/7f91fd16f805b376c8b9137ddc479aabdc9f79d19807832f85606cb3b74409c4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e302d3838393242462e7376673f7374796c653d666c61742d737175617265)](https://php.net/)[![GitHub release](https://camo.githubusercontent.com/c94156f3f15fc8392e33310055e6ac91dd2a2f2ff6ded881dadd75494942d39e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6f70656e636172742f6f70656e63617274)](https://github.com/opencart/opencart/releases)[![Lint](https://github.com/opencart/opencart/actions/workflows/Lint.yml/badge.svg)](https://github.com/opencart/opencart/actions/workflows/Lint.yml)

How to install
--------------

[](#how-to-install)

Please read the [installation instructions](INSTALL.md) included in the repository or download file.

How to upgrade from previous versions
-------------------------------------

[](#how-to-upgrade-from-previous-versions)

Please read the [upgrading instructions](UPGRADE.md) included in the repository or download file.

Reporting a bug
---------------

[](#reporting-a-bug)

Read the instructions below before you create a bug report.

1. Search the [OpenCart forum](https://forum.opencart.com/viewforum.php?f=201), ask the community if they have seen the bug or know how to fix it.
2. Check all open and closed issues on the [GitHub bug tracker](https://github.com/opencart/opencart/issues).
3. If your bug is related to the OpenCart core code then please create a bug report on GitHub.
4. READ the [changelog for the master branch](https://github.com/opencart/opencart/blob/master/CHANGELOG.md)
5. Use [Google](https://www.google.com) to search for your issue.
6. Make sure that your bug/issue is not related to your hosting environment.

If you are not sure about your issue, it is always best to ask the community on our [bug forum thread](https://forum.opencart.com/viewforum.php?f=201)

**Important!**

- If your bug report is not related to the core code (such as a 3rd party module or your server configuration) then the issue will be closed without a reason. You must contact the extension developer, use the forum or find a commercial partner to resolve a 3rd party code issue.
- If you would like to report a serious security bug please PM an OpenCart moderator/administrator on the forum. Please do not report concept/ideas/unproven security flaws - all security reports are taken seriously but you must include the EXACT details steps to reproduce it. Please DO NOT post security flaws in a public location.

How to contribute
-----------------

[](#how-to-contribute)

Read the full [CONTRIBUTING guide](CONTRIBUTING.md) for environment setup, coding standards, and pull-request expectations.

Fork the repository, make your changes, and [submit a pull request](https://github.com/opencart/opencart/wiki/Creating-a-pull-request). Please be explicit in commit and PR descriptions—empty or unclear messages may be rejected.

Your code must follow the [OpenCart coding standards](https://github.com/opencart/opencart/wiki/Coding-standards). Our automated scanners (syntax lint, PHPStan, php-cs-fixer) must pass before a PR can be merged.

Local Development with Docker
-----------------------------

[](#local-development-with-docker)

This project includes a Docker-based environment for local development.

### Prerequisites

[](#prerequisites)

- You must have Docker and Docker Compose installed on your machine. If you're installing `Composer` separately from Docker, make sure to install `docker-compose-v2`. Using the older `docker-compose` version may cause the build process (specifically the make build step) to fail. [Docker Desktop](https://www.docker.com/products/docker-desktop/) is the easiest way to get them.
- You must have `make` installed on your system (usually pre-installed on macOS and Linux distributions).

Important

**For Windows Users:**It is **strongly recommended** to use the WSL 2 (Windows Subsystem for Linux) backend for Docker Desktop. **You should clone this project *inside* your WSL distribution (e.g., Ubuntu 24.04) for best performance.**Access your project via `\\wsl$\Ubuntu-24.04\home\youruser\opencart` from Windows Explorer if needed. Without WSL 2, file system performance will be extremely slow, making the application nearly unusable. Docker Desktop will typically prompt you to enable WSL 2 during installation.

Note

OpenCart itself does **not** use any `.env` file for its configuration. The provided `.env.docker` file is **only** for configuring the Docker Compose environment. To avoid confusion with classic development workflows, this file is named `.env.docker` and placed inside the `docker` directory.

### Getting Started

[](#getting-started)

1. Clone the repository to your local machine.
2. Initialize the project: ```
    make init
    ```
3. Build the images: ```
    make build
    ```
4. Start all services: ```
    make up
    ```

After the process is complete, your OpenCart store will be available at `http://localhost`.

### Common Commands

[](#common-commands)

- **To stop the environment:**```
    make down
    ```
- **To view the logs from all services:**```
    make logs
    ```
- **To enter the PHP container:**```
    make php
    ```
- **To see all available commands:**```
    make help
    ```

### Changing the PHP Version

[](#changing-the-php-version)

The environment uses PHP 8.4 by default. You can easily switch to a different version by editing the `PHP_VERSION` variable in the `docker/.env.docker` file.

For example, to use PHP 8.2, open `docker/.env.docker` and set:

```
PHP_VERSION=8.2
```

After changing the version, rebuild the images:

```
make build
```

### Using Docker Compose Profiles for Optional Services

[](#using-docker-compose-profiles-for-optional-services)

By default, only the core services (`apache`, `php`, `mysql`) are started. Optional services such as **Adminer**, **Redis**, **Memcached**, and **PostgreSQL** can be enabled using [Docker Compose profiles](https://docs.docker.com/compose/profiles/).

To enable one or more optional services, use the `--profile` flag and specify your env file:

- **Start with Adminer:**```
    make up profiles="adminer"
    ```
- **Start with Redis and Memcached:**```
    make up profiles="redis memcached"
    ```
- **Start all optional services:**```
    make up profiles="adminer redis memcached postgres"
    ```

Tip

You can combine any profiles as needed for your development workflow.

Versioning
----------

[](#versioning)

The version is broken down into 4 points e.g 1.2.3.4 We use MAJOR.MINOR.FEATURE.PATCH to describe the version numbers.

A MAJOR is very rare, it would only be considered if the source was effectively re-written or a clean break was desired for other reasons. This increment would likely break most 3rd party modules.

A MINOR is when there are significant changes that affect core structures. This increment would likely break some 3rd party modules.

A FEATURE version is when new extensions or features are added (such as a payment gateway, shipping module etc). Updating a feature version is at a low risk of breaking 3rd party modules.

A PATCH version is when a fix is added, it should be considered safe to update patch versions e.g 1.2.3.4 to 1.2.3.5

Releases
--------

[](#releases)

OpenCart will announce to developers 1 week prior to public release of FEATURE versions, this is to allow for testing of their own modules for compatibility. For bigger releases (ones that contain many core changes, features and fixes) an extended period will be considered following an announced release candidate (RC). Patch versions (which are considered safe to update with) may have a significantly reduced developer release period.

The master branch will always contain an "\_rc" postfix of the next intended version. The next "\_rc" version may change at any time.

Developer release source code will not change once tagged.

If a bug is found in an announced developer release that is significant (such as a major feature is broken) then the release will be pulled. A patch version will be issued to replace it, depending on the severity of the patch an extended testing period may be announced. If the developer release version was never made public then the preceding patch version tag will be removed.

To receive developer notifications about release information, sign up to the newsletter on the [OpenCart website](https://www.opencart.com) - located in the footer. Then choose the developer news option.

License
-------

[](#license)

[GNU General Public License version 3 (GPLv3)](https://github.com/opencart/opencart/blob/master/LICENSE.md)

Links
-----

[](#links)

- [OpenCart homepage](https://www.opencart.com/)
- [OpenCart forums](https://forum.opencart.com/)
- [OpenCart blog](https://www.opencart.com/index.php?route=feature/blog)
- [How to documents](http://docs.opencart.com/en-gb/introduction/)
- [Newsletter](https://newsletter.opencart.com/h/r/B660EBBE4980C85C)
- [Discussions](https://github.com/opencart/opencart/discussions)
- [Chat](https://teams.live.com/l/community/FEAMBRGMM2X2wz82gI)

###  Health Score

67

—

FairBetter than 99% of packages

Maintenance70

Regular maintenance activity

Popularity62

Solid adoption and visibility

Community50

Growing community involvement

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 61.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~141 days

Recently: every ~90 days

Total

27

Last Release

54d ago

Major Versions

2.3.0.2 → 3.0.0.02017-06-19

3.0.4.0 → 4.1.0.02025-01-13

PHP version history (4 changes)2.2.0.0PHP &gt;=5.4.0

3.0.3.9PHP &gt;=7.3.0

4.1.0.0PHP &gt;=8.0.2

3.0.5.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/a4866891f9d16ef5b8857a3548f6d1440564409cb1cda6249751bbac2fddef58?d=identicon)[opencart](/maintainers/opencart)

---

Top Contributors

[![danielkerr](https://avatars.githubusercontent.com/u/5079756?v=4)](https://github.com/danielkerr "danielkerr (10522 commits)")[![jamesallsup](https://avatars.githubusercontent.com/u/2026129?v=4)](https://github.com/jamesallsup "jamesallsup (1740 commits)")[![TheCartpenter](https://avatars.githubusercontent.com/u/77865573?v=4)](https://github.com/TheCartpenter "TheCartpenter (1470 commits)")[![ekavando](https://avatars.githubusercontent.com/u/5789807?v=4)](https://github.com/ekavando "ekavando (791 commits)")[![pemaier](https://avatars.githubusercontent.com/u/10166095?v=4)](https://github.com/pemaier "pemaier (380 commits)")[![AJenbo](https://avatars.githubusercontent.com/u/204594?v=4)](https://github.com/AJenbo "AJenbo (321 commits)")[![OpenCartAddons](https://avatars.githubusercontent.com/u/5317545?v=4)](https://github.com/OpenCartAddons "OpenCartAddons (153 commits)")[![stalker780](https://avatars.githubusercontent.com/u/6297070?v=4)](https://github.com/stalker780 "stalker780 (147 commits)")[![straightlight](https://avatars.githubusercontent.com/u/32371528?v=4)](https://github.com/straightlight "straightlight (140 commits)")[![chris-wm](https://avatars.githubusercontent.com/u/8395552?v=4)](https://github.com/chris-wm "chris-wm (139 commits)")[![JesseOC](https://avatars.githubusercontent.com/u/18608299?v=4)](https://github.com/JesseOC "JesseOC (109 commits)")[![condor2](https://avatars.githubusercontent.com/u/14251939?v=4)](https://github.com/condor2 "condor2 (105 commits)")[![danijelGombac](https://avatars.githubusercontent.com/u/3872726?v=4)](https://github.com/danijelGombac "danijelGombac (100 commits)")[![pine3ree](https://avatars.githubusercontent.com/u/3229979?v=4)](https://github.com/pine3ree "pine3ree (88 commits)")[![jeffreyeng-opencart](https://avatars.githubusercontent.com/u/56537067?v=4)](https://github.com/jeffreyeng-opencart "jeffreyeng-opencart (82 commits)")[![opencartbot](https://avatars.githubusercontent.com/u/3949984?v=4)](https://github.com/opencartbot "opencartbot (80 commits)")[![ecommercehq](https://avatars.githubusercontent.com/u/2091174?v=4)](https://github.com/ecommercehq "ecommercehq (78 commits)")[![osworx](https://avatars.githubusercontent.com/u/1905204?v=4)](https://github.com/osworx "osworx (64 commits)")[![trydalcoholic](https://avatars.githubusercontent.com/u/20430159?v=4)](https://github.com/trydalcoholic "trydalcoholic (60 commits)")[![ADDCreative](https://avatars.githubusercontent.com/u/2039130?v=4)](https://github.com/ADDCreative "ADDCreative (60 commits)")

---

Tags

cartecommerce-frameworkhtml5javascriptjsopen-sourceopencartphpshoppingshopping-cartframeworkecommerceopensourceopencart

### Embed Badge

![Health badge](/badges/opencart-opencart/health.svg)

```
[![Health](https://phpackages.com/badges/opencart-opencart/health.svg)](https://phpackages.com/packages/opencart-opencart)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[jsdecena/laracom

Laravel powered e-commerce

2.0k4.4k](/packages/jsdecena-laracom)[sproutcms/cms

Enterprise content management and framework

241.6k4](/packages/sproutcms-cms)[contao-community-alliance/dc-general

Universal data container for Contao

1578.3k86](/packages/contao-community-alliance-dc-general)[abydahana/aksara

Aksara is a CodeIgniter based CRUD Toolkit you can use to build complex applications become shorter, secure and more reliable just in a few lines of code. Serving both CMS or Framework, produce both HEADLESS (RESTful API) or TRADITIONAL (Browser Based), just by writing single controller. Yet it's reusable, scalable and ready to use!

1121.2k](/packages/abydahana-aksara)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
