Simple PHP version management

Related tags

PHP Installation php
Overview

phpenv - PHP multi-version installation and management for humans.

Key features:

My name is phpenv. I was designed for humans, to help simplify the management of multiple PHP custom build installations.

I was originally inspired by the outstanding work of both the projects which you already know and love with a whole bunch of PHP centric additions to help you build your first release, simplify managing and working with diffirent releases and keep you building new release after new release like there's nothing to it.

You are a PHP developer, like we are, and you not only have to have the latest and freshest interpreter to spin your scripts but you also care to see what how they get treated when submitted to older interpretations. Ever wondered why you can't run a PHP app on your own development machine? Well you just found the answer doing when taken for a ride building PHP on their dev machines. Easily customize your configuration options and even build pecl extensions into PHP or manually afterwards. Configure and install custom builds of the same PHP release version directly from the PHP source code repository kept in your local .phpenv folder.

How It Works

phpenv operates on the per-user directory ~/.phpenv. Version names in phpenv correspond to subdirectories of ~/.phpenv/versions. For example, you might have ~/.phpenv/versions/5.3.8 and ~/.phpenv/versions/5.4.0.

Each version is a working tree with its own binaries, like ~/.phpenv/versions/5.4.0/bin/php and ~/.phpenv/versions/5.3.8/bin/pyrus. phpenv makes shim binaries for every such binary across all installed versions of PHP.

These shims are simple wrapper scripts that live in ~/.phpenv/shims and detect which PHP version you want to use. They insert the directory for the selected version at the beginning of your $PATH and then execute the corresponding binary.

Because of the simplicity of the shim approach, all you need to use phpenv is ~/.phpenv/shims in your $PATH which will do the version switching automagically.

Installation

Basic GitHub Checkout

For a more automated install, you can use phpenv-installer. If you prefer a manual approach, follow the steps below.

This will get you going with the latest version of phpenv and make it easy to fork and contribute any changes back upstream.

  1. Check out phpenv into ~/.phpenv.

     $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv
    
  2. Add ~/.phpenv/bin to your $PATH for access to the phpenv command-line utility.

     $ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bash_profile
    
  3. Add phpenv init to your shell to enable shims and autocompletion.

     $ echo 'eval "$(phpenv init -)"' >> ~/.bash_profile
    
  4. Restart your shell so the path changes take effect. You can now begin using phpenv.

     $ exec $SHELL -l
    
  5. (Optional) Install php-build into it and any php. (See php-build home)

     $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
     $ phpenv install [any php version]
    
  6. (Optional) Rebuild the shim binaries. You should do this any time you install a new PHP binary.

     $ phpenv rehash
    

Upgrading

If you've installed phpenv using the instructions above, you can upgrade your installation at any time using git.

To upgrade to the latest development version of phpenv, use git pull:

$ cd ~/.phpenv
$ git pull

Webserver Setup

PHP-FPM

The preferred way of connecting phpenv applications is by using php-fpm after building php. Your webserver can then be configured to connect to the php-fpm instance. In this approach, php will run as the permissions of the invoking user, which is not necessarily as the web server.

php-fpm can be started in one of the following ways:

  • using an init script: by running ~/.phpenv/versions/$VERSION/etc/init.d/php-fpm
  • using systemd: by installing ~/.phpenv/versions/$VERSION/etc/systemd/system/php-fpm.service
  • using an init script: by writing your own custom init script
  • using systemd: by writing your own custom systemd unit
  • manually: by running php-fpm (8) and supplying command-line arguments

By default, php-fpm comes with a configuration file under ~/.phpenv/versions/$VERSION/etc/php-fpm.conf, which it will look for when run. This configures php-fpm to listen on localhost:9000 when started. You may edit or replace this file, or supply a different configuration file using the --fpm-config (-y) command line argument.

Instructions for connecting different webservers to php-fpm:

Apache SAPI

Alternatively, you may still use the Apache php module by configuring php-build to build the libphp.so apache extension (directions to follow). libphp.so can then be found by apache under the ~/.phpenv/versions/$VERSION/libexec folder. This file can be used for Apache's LoadModule php5_module directive and requires Apache to restart when changed.

Neckbeard Configuration

Skip this section unless you must know what every line in your shell profile is doing.

phpenv init is the only command that crosses the line of loading extra commands into your shell. Here's what phpenv init actually does:

  1. Sets up your shims path. This is the only requirement for phpenv to function properly. You could also do this by hand by prepending ~/.phpenv/shims to your $PATH.

  2. Installs autocompletion. This is entirely optional but pretty useful. Sourcing ~/.phpenv/completions/phpenv.bash will set that up. There is also a ~/.phpenv/completions/phpenv.zsh for Zsh users.

  3. Rehashes shims. From time to time you'll need to rebuild your shim files. Doing this on init makes sure everything is up to date. You can always run phpenv rehash manually.

  4. Installs the sh dispatcher. This bit is also optional, but allows phpenv and plugins to change variables in your current shell, making commands like phpenv shell possible. The sh dispatcher doesn't do anything crazy like override cd or hack your shell prompt, but if for some reason you need phpenv to be a real script rather than a shell function, you can safely skip it.

Run phpenv init - for yourself to see exactly what happens under the hood.

Usage

Like git, the phpenv command delegates to subcommands based on its first argument. The most common subcommands are:

phpenv help

Show the usage and useful help. When you are in trouble, do this ;)

$ phpenv help
$ phpenv help <subcommand>

phpenv install

php-build is a phpenv-compatible plugin that builds and installs php. To be able to use phpenv install, download and install the php-build plugin as described in step 5. of the install instructions above.

Before running phpenv install, make sure the development versions needed to build php are installed in your system. In particular, if you want to build the apache extension, make sure that apache2-dev (or your OS's equivalent) is installed.

phpenv global

Sets the global version of PHP to be used in all shells by writing the version name to the ~/.phpenv/version file. This version can be overridden by a per-project .phpenv-version file, or by setting the PHPENV_VERSION environment variable.

$ phpenv global 5.4.0

The special version name system tells phpenv to use the system PHP (detected by searching your $PATH).

When run without a version number, phpenv global reports the currently configured global version.

phpenv local

Sets a local per-project PHP version by writing the version name to a .phpenv-version file in the current directory. This version overrides the global, and can be overridden itself by setting the PHPENV_VERSION environment variable or with the phpenv shell command.

$ phpenv local 5.3.8

When run without a version number, phpenv local reports the currently configured local version. You can also unset the local version:

$ phpenv local --unset

phpenv shell

Sets a shell-specific PHP version by setting the PHPENV_VERSION environment variable in your shell. This version overrides both project-specific versions and the global version.

$ phpenv shell 5.3.9

When run without a version number, phpenv shell reports the current value of PHPENV_VERSION. You can also unset the shell version:

$ phpenv shell --unset

Note that you'll need phpenv's shell integration enabled (step 3 of the installation instructions) in order to use this command. If you prefer not to use shell integration, you may simply set the PHPENV_VERSION variable yourself:

$ export PHPENV_VERSION=5.3.13

phpenv versions

Lists all PHP versions known to phpenv, and shows an asterisk next to the currently active version.

$ phpenv versions
  5.2.8
  5.3.13
* 5.4.0 (set by /YOUR-USERNAME/.phpenv/global)

phpenv version

Displays the currently active PHP version, along with information on how it was set.

$ phpenv version
5.4.0 (set by /YOUR-USERNAME/.phpenv/version)

phpenv rehash

Installs shims for all PHP binaries known to phpenv (i.e., ~/.phpenv/versions/*/bin/*). Run this command after you install a new version of PHP.

$ phpenv rehash

phpenv which

Displays the full path to the binary that phpenv will execute when you run the given command.

$ phpenv which pyrus
/YOUR-USERNAME/.phpenv/versions/5.4.0/bin/pyrus

Development

The phpenv source code is hosted on GitHub. It's clean, modular, and easy to understand (thanks to the rbenv project), even if you're not a shell hacker.

This project is basically a clone (Read: "search and replace") of the rbenv project. It's in need of love and support. If you're interested in improving it please feel free to fork, submit pull requests and file bugs on the issue tracker.

License

(The MIT license)

Copyright (c) 2012 Dominic Giglio
Copyright (c) 2013 Nick Lombard
Copyright (c) 2015 madumlao

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • github.com/phpenv/phpenv  abandoned?

    github.com/phpenv/phpenv abandoned?

    current state of "dev" branch does not work on initial setup, neither does "master" (looks like it expects php-src to be checked out manually because cd php-src is before init() call. etc)

    last commit to "dev" branch is ~1y ago, commit to "master" branch ~2y ago 8 open pull requests, 15 open issues

    is https://github.com/phpenv/phpenv abandoned?

    perhaps write to README.md what is this project and it's state and what is relation to the "other" project: https://github.com/CHH/phpenv

    opened by glensc 59
  • OSX 10.8.3 'phpenv install --releases' problems

    OSX 10.8.3 'phpenv install --releases' problems

    Just getting phpenv version info on the shell, nothing to install actually. I also tried doing a 'git submodule update --init' to see if anything major was missing. Anything that I might be missing to get this running? Thanks.

    opened by ivanblagdan 31
  • PHP 5.3.3 -> 5.3.16 compiling issues

    PHP 5.3.3 -> 5.3.16 compiling issues

    Hey there,

    I'm back but this time with some 5.3.x problems. I was about to experiment a couple of things about a bug in PHP 5.3.3 so I decided to build the version with phpenv but surprisingly it didn't work. Out of my tests the problems is for the versions between 5.3.3 and 5.3.16 following the logs:

    PHP 5.3.3: https://gist.github.com/MarcoDeBortoli/e63a56fd9273c49dc129 PHP 5.3.10: https://gist.github.com/MarcoDeBortoli/2e7c4841014170a3bd6a PHP 5.3.14: https://gist.github.com/MarcoDeBortoli/ee36fca37475d88de837 PHP 5.3.15: https://gist.github.com/MarcoDeBortoli/21077130eeaee177ebc4 PHP 5.3.16: https://gist.github.com/MarcoDeBortoli/5fb6443fbdc1f154800b

    All the known dependencies have been installed via phpenv-install-all-darwin so that should be covered. In fairness the PHP 5.3.3 error log is slightly different because it reports also some problem with APC.

    phpenv install --deep-clean didn't help this time.

    Any idea or suggestion will be as usual very much appreciated.

    Thanks

    opened by debo 14
  • What about extensions

    What about extensions

    You mention the reason we should use php-cgi istead of mod_php in apache is because

    Currently, phpenv does not build the libphp5.so module. This is due to permission issues during make install that make it difficult to compile multiple modules and link to them for each installed PHP version dynamically.

    Now how does this effect other compiled extensions ie. PECL these all use the same approach don't they.

    I think it would help if you explain the problem in more detail maybe we can find a resolve, I would much prefer being able to use mod_php in any event. Would this be something you are specifically against.

    Welcome back from holiday!! =) 3 months wow what a life! =) Maybe you need to consider adding more contributors to this project as much as no one will have any complaints that you take your sabbaticals us it fair to the community if there is no one else to pick up the slack? Just food for thought, I like what you're doing here but I have some concerns the closed issue humanshell/phpenv#1 being one of them. What are your thoughts?

    opened by nickl- 14
  • New release on dev

    New release on dev

    A new release available on dev branch

    Many new features a write-up will have to follow

    some highlights

    new folders

    • etc folder now contains the configure and other settings for easy manipulation
    • patch folder for patches
    • php-ext for pecl extensions sub modules
    • phpenv.d are event hooks but needs some more work
    • var will be created for cache

    new command

    • phpenv configure - to edit the current active php version's php.ini

    install command

    The install command is a whole new kind of beast for now consult the new help.

    phpenv v0.0.2-install
    
    Usage: phpenv install [--[deep-]clean] [--releases] [--ini|i <environment>] [<release>] [<build>] [--continue|c status]
    
    Arguments:
      release:    Which PHP release to build and install
        build:    Optionally supply a build identifier to enable
                  installation of multiple versions of the same
                  release ie debug, mysql, mssql, postgres, intl
    
    Options:
      --releases: Lists all available definitions
         --clean: Clean the build directory of any generated files
    --deep-clean: Thoroughly clean generated files, clear ccache
                  clear generated files for extensions and delete
                  downloaded or cached content content.
                  NOTE: these do not remove the source repository
                        or any of the extension submodules.
         --ini|i: Specifies which php.ini-<environment> from the
                  source distribution is used as default php.ini
     --continue|c continue from a specific workflow status index
                  by skipping the steps that were already completed
                  leading up to this point, where status is one of:
    
                      0 (default) start from the beginning
                      1 Start from [Fetching] skipping first steps
                      2 Start from [Branching] skip branching release
                      3 Start from [Patching] applying patches
                      4 Start from [Configuring] skip running ./configure
                      5 Start from [Compiling] skip make, install, clean
                      6 Start from [Config ini] Skip updating php.ini
                      7 Start from [Pyrus] |7| skip downloading and installing
                      8 Start from [Extensions] skip installing extensions
    
    opened by nickl- 13
  • Enable support for php-fpm on 5.4++ by default

    Enable support for php-fpm on 5.4++ by default

    php 5.4 and above have a builtin fast process manager (php-fpm), which can serve as both a webserver and a suitable standin for a fastcgi daemon. php-fpm is enabled by default in 5.4 and above, however, the resulting php-fpm binary is installed in sbin/, rather than bin/. This causes phpenv-rehash and phpenv-which to fail to detect it and be included in the PATH, even when php is compiled with the relevant --enable-fpm configure option.

    These commits add support to phpenv for binaries in sbin/ and --enable-fpm on php 5.4 and above wherever apache is also enabled.

    opened by madumlao 12
  • I'm trying to tie apaenv with phpenv

    I'm trying to tie apaenv with phpenv

    Hi everyone.. I'm trying to create an apache env with modphp and add some commands to tie with phpenv.. if someone is interested on it too, I need some help.

    Since now I can download apache binary into the right folder on linux (ubuntu), but need to do some sed substitutions to the right folder into bin scripts and conf files and into bin/apachectl need do add -f option like this:

    HTTPD='/srv/env/apaenv/versions/2.0.48/bin/httpd -f /srv/env/apaenv/versions/2.0.48/conf/httpd.conf'

    After it apache can work with apachectl -k start

    I'll try to automate these substitutions.. the problem is with libphp5.so (that my phpenv don't generate it, and mod php

    Feel free to fork / pull request it if you want https://github.com/rodfersou/apaenv

    Thanks

    opened by rodfersou 10
  • Solving installation problems - a process of elimination

    Solving installation problems - a process of elimination

    I installed phpenv on a clean 10.8.4 osx machine. The commands all seem to work without error, but the php version doesn't change. I noticed that there are no changes to the shim directory.

    Robbs-MacBook-Air:~ robblovell$ phpenv version
    5.5.4 (set by /Users/robblovell/.phpenv/version)
    Robbs-MacBook-Air:~ robblovell$ ls .phpenv/shims/
    Robbs-MacBook-Air:~ robblovell$ phpenv versions
    phpenv v0.0.4-dev
    
      system
    * 5.5.4 (set by /Users/robblovell/.phpenv/version)
    Robbs-MacBook-Air:~ robblovell$ php --version
    PHP 5.3.15 with Suhosin-Patch (cli) (built: Dec  9 2012 19:32:02)
    Copyright (c) 1997-2012 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
        with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
    Robbs-MacBook-Air:~ robblovell$ ls -la shims
    total 0
    drwxr-xr-x   2 robblovell  staff   68  9 Oct 10:00 .
    drwxr-xr-x  19 robblovell  staff  646  9 Oct 09:58 ..
    Robbs-MacBook-Air:~ robblovell$ cat ~/.bash_profile
    export PATH="~/.phpenv/shims:$HOME/.phpenv/bin:$PATH"
    eval "$(phpenv init -)"
    Robbs-MacBook-Air:~ robblovell$ cat .profile
    PATH="$PATH:/usr/loc/bin"
    Robbs-MacBook-Air:~ robblovell$
    

    I do have MAMP installed, not sure if that makes a difference, but it's not referenced:

    Robbs-MacBook-Air:~ robblovell$ which php
    /usr/bin/php
    
    
    opened by robblovell 10
  • Is changeable protocol (HTTPS) accessing github??

    Is changeable protocol (HTTPS) accessing github??

    phpenv/phpenv is using protocol of git(9418) at the following actions:

    • submodules (.gitmodules)
    • clone php-src (libexec/phpenv-install)

    However protocol of git is often blocked by corporate firewalls

    Does not change the protocol of HTTPS?

    If you agree to this proposal, I'll send PR

    Please see more: The Git Protocol >> The Cons - git-scm.com -

    opened by nishigori 9
  • Issue installing 7.4.7 version on MacOS Catalina

    Issue installing 7.4.7 version on MacOS Catalina

    When I try to install the PHP 7.4.7 version I get the following error

    $ phpenv install 7.4.7
    
    [Info]: Loaded extension plugin
    [Info]: Loaded apc Plugin.
    [Info]: Loaded composer Plugin.
    [Info]: Loaded github Plugin.
    [Info]: Loaded uprofiler Plugin.
    [Info]: Loaded xdebug Plugin.
    [Info]: Loaded xhprof Plugin.
    [Info]: Loaded zendopcache Plugin.
    [Info]: php.ini-production gets used as php.ini
    [Info]: Building 7.4.7 into /Users/denis.zoljom/.phpenv/versions/7.4.7
    [Skipping]: Already downloaded and extracted https://secure.php.net/distributions/php-7.4.7.tar.bz2
    [Preparing]: /var/tmp/php-build/source/7.4.7
    
    -----------------
    |  BUILD ERROR  |
    -----------------
    
    Here are the last 10 lines from the log:
    
    -----------------------------------------
    
    No package 'krb5-gssapi' found
    No package 'krb5' found
    
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
    
    Alternatively, you may set the environment variables KERBEROS_CFLAGS
    and KERBEROS_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    -----------------------------------------
    
    The full Log is available at '/tmp/php-build.7.4.7.20200719120030.log'.
    [Warn]: Aborting build.
    

    I can see the krb5 package in my brew list.

    Any ideas what do I need to do in order to fix this?

    The MacOS version is 10.15.6.

    opened by dingo-d 8
  • Looks like there are issues with extensions submodules :(

    Looks like there are issues with extensions submodules :(

    Hey guys, I'm trying to integrate phpenv into one of my projects and after a few failed phpenv installs, I tracked down to problems related to the extensions submodules:

    vagrant@raring-base:~/.phpenv$ git submodule update --init --checkout --recursive
    Submodule path 'php-ext/apc': checked out '40bf2fd37352f0c078bebb609487d75d700a3a34'
    fatal: reference is not a tree: 4f5c3c8b8b58ffc1ef0f70e3b347dfbb6b63fd0f
    Submodule path 'php-ext/igbinary': checked out 'c35d48f3d14794373b2ef89a6d79020bb7418d7f'
    Submodule path 'php-ext/memcached': checked out '09791df73d23fa7d182660e23ffbbf0753f2b2fa'
    Submodule path 'php-ext/mongo': checked out 'c634cc5fdcd125d8f9779d2b2389534ee6d1a618'
    Submodule path 'php-ext/ncurses': checked out 'b7e0fa3933609bd557576799ba1976115543047e'
    Submodule path 'php-ext/phalcon': checked out 'f205ec9ffe49a14decf09ee6285c742bc7d764eb'
    Submodule path 'php-ext/uri-template': checked out '2714fc4ad90696636607464c4454a20d85dbe6c7'
    Submodule path 'php-ext/xdebug': checked out '9b619908433247fc2316f3c28c3e73d87f1c2050'
    Submodule path 'php-ext/yaf': checked out '5154608cccde189a32bf8a88c14c70b3f8c33694'
    Unable to checkout '4f5c3c8b8b58ffc1ef0f70e3b347dfbb6b63fd0f' in submodule path 'php-ext/http'
    

    I don't have the time to dig into fixing this but just so you know I'm trying things out on Ubuntu 13.04 using git 1.8.1.2.

    If you guys need more information please LMK =)

    /cc @josegonzalez

    opened by fgrehm 8
  • Specify major version component only

    Specify major version component only

    Similar tools like nvm allow specifying just the major version, e.g. nvm install 16. Why can't we do phpenv install 8, or at the very least, phpenv install 8.0? Although not clearly documented, this tool actually requires all three version components, including patch version, to be specified. This seems severely limiting when we don't care about the patch version, or even the minor version. In such cases, the tool should select the most recent minor or patch version automatically.

    opened by Bilge 0
  • Fail to install php 7.3.33

    Fail to install php 7.3.33

    I'm triying to install php version 7.3.33 and keeps failing. I'm not sure about the error.

    Here is the logfile: php-build.7.3.33.20221028181813.log

    I'm not sure if this is the place to report the issue.

    Thanks!

    opened by impresionista 1
  • `phpenv rehash` does not detect `system` version on a system that just had PHP installed from the package manager

    `phpenv rehash` does not detect `system` version on a system that just had PHP installed from the package manager

    phpenv does not detect that PHP is installed in the system, on a system that did not previously have PHP installed locally, even after doing phpenv rehash. In such a case, phpenv versions will still not show system, even though PHP is installed using the system's package manager.

    opened by Bilge 0
  • How to use extensions (curl, mysql, pgsql) with `phpenv`?

    How to use extensions (curl, mysql, pgsql) with `phpenv`?

    I'm sorry if I'm being dumbass, but there are no real clear instructions either with this repo or php-build how to get extensions working with this?

    (I'm on arch linux) and I can install these extensions with pacman for the system version of php... but how I do I install them when I install and build php using phpenv?

    opened by ortonomy 0
  • Ubuntu Install

    Ubuntu Install

    To install a PHP version using phpenv, first I have to install this dependencys on my Ubuntu

    sudo apt \
    	install \
    	buildconf \
    	autoconf \
    	build-essential \
    	bison \
    	re2c \
    	pkg-config \
    	libxml2-dev \
    	openssl \
    	openssh-client \
    	openssl \
    	libssl-dev \
    	sqlite3 \
    	libsqlite3-dev \
    	zlib1g-dev \
    	libbz2-dev \
    	libcurl4-openssl-dev \
    	libpng-dev \
    	libjpeg-dev
    
    opened by natanaugusto 0
Owner
php multiple release management 4 humans
php multiple release management 4 humans
Brew & manage PHP versions in pure PHP at HOME

PHPBrew Read this in other languages: English, Português - BR, 日本語, 中文. phpbrew builds and installs multiple version php(s) in your $HOME directory. W

PHPBrew 5k Jan 9, 2023
Builds PHP so that multiple versions can be used side by side.

php-build php-build is a utility for building versions of PHP to use them side by side with each other. The overall structure is loosly borrowed from

php-build 959 Dec 14, 2022
virtPHP is a tool to create isolated PHP environments.

virtPHP is a tool for creating and managing multiple isolated PHP environments on a single machine. It's like Python's virtualenv, but for PHP. virtPH

VirtPHP 538 Sep 14, 2022
🔰 Instant PHP quality checks from your console

PHP Insights was carefully crafted to simplify the analysis of your code directly from your terminal, and is the perfect starting point to analyze the code quality of your PHP projects.

Nuno Maduro 4.8k Dec 27, 2022
Chargebee API PHP Client (for API version 2 and Product Catalog version 2.0)

chargebee-php-sdk Overview This package provides an API client for Chargebee subscription management services. It connects to Chargebee REST APIs for

GLOBALIS media systems 8 Mar 8, 2022
Version is a library that helps with managing the version number of Git-hosted PHP projects

Version Version is a library that helps with managing the version number of Git-hosted PHP projects. Installation You can add this library as a local,

Sebastian Bergmann 6.3k Dec 26, 2022
[OUTDATED] Two-factor authentication for Symfony applications 🔐 (bunde version ≤ 4). Please use version 5 from https://github.com/scheb/2fa.

scheb/two-factor-bundle ⚠ Outdated version. Please use versions ≥ 5 from scheb/2fa. This bundle provides two-factor authentication for your Symfony ap

Christian Scheb 389 Nov 15, 2022
This command will guide you through upgrade your composer.json config rom version 1 to version 2.

Upgrade composer.json This command will guide you through upgrade your composer.json config rom version 1 to version 2. How to use: $ cd YOUR_PROJECT_

Ehsan Sabet 3 May 18, 2022
Simple PHP version management

phpenv - PHP multi-version installation and management for humans. Key features: My name is phpenv. I was designed for humans, to help simplify the ma

php multiple release management 4 humans 1.3k Dec 30, 2022
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
Simple E-Comerce build use Laravel 5.6 require php version 5.6 or 7.4

Simple E-Comerce build use Laravel 5.6 require php version 5.6 or 7.4

Rangga Darmajati 3 Oct 7, 2021
Instagram simple version.

.feed Getting started Clone project Go to the folder Install composer composer install Install npm package npm install Copy and edit .env file from .e

krido 4 Jan 22, 2022
GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.

GLPI stands for Gestionnaire Libre de Parc Informatique is a Free Asset and IT Management Software package, that provides ITIL Service Desk features, licenses tracking and software auditing.

GLPI 2.9k Jan 2, 2023
An account management Panel based on Laravel7 framework. Include multiple payment, account management, system caching, admin notification, products models, and more.

ProxyPanel 简体中文 Support but not limited to: Shadowsocks,ShadowsocksR,ShadowsocksRR,V2Ray,Trojan,VNET Demo Demo will always on dev/latest code, rather

null 17 Sep 3, 2022
NukeViet 132 Nov 27, 2022
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system

mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system. Dashboard features such as: Complete Dashboard, Custom Authentication, Email Verification, custom-login-register-forgot password (without jetstream).

Hasmukh Dharajiya 2 Sep 20, 2022
Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitoring, template management, and many more features.

ProVirted About Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitori

null 2 Aug 22, 2022
Laravel-Library-Management-system is nice to management library system...

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Eng Hasan Hajjar 2 Sep 30, 2022
A static analyzer for PHP version migration

PHP Migration Readme in Chinese 中文 This is a static analyzer for PHP version migration and compatibility checking. It can suppose your current code ru

Yuchen Wang 194 Sep 27, 2022
PHP version of Google's phone number handling library

libphonenumber for PHP What is it? A PHP library for parsing, formatting, storing and validating international phone numbers. This library is based on

Joshua Gigg 4.2k Jan 7, 2023