Skip to content

andersondanieln/phpshift

Repository files navigation

PHPShift

PHPShift Logo

A modern PHP version switcher for Windows

Official Website: https://andercoder.com/phpshift

React Electron Vite Node.js Windows License: CC BY-NC-SA 4.0

📖 About the Project

PHPShift is a desktop application for Windows designed to make switching between different PHP versions incredibly simple. If you're tired of manually editing your system's PATH variable every time you need to change projects, this tool automates the entire process. With a clean and intuitive interface, you can change your active PHP version with just a single click.


✨ Key Features

  • One-Click Version Switching: Instantly change the active PHP version in the system's PATH.
  • Automatic Detection: Point it to your main PHP folder, and PHPShift will list all valid PHP versions found.
  • Integrated php.ini Editor: Enable and disable common extensions through a visual interface.
  • System Tray Integration: Access all features directly from the system tray for maximum productivity.
  • Modern UI with Themes: A pleasant and reactive user experience with both light and dark modes.
  • Multi-language Support: Available in Portuguese, English, Spanish, and Chinese.
  • Professional Installer: Simple and clean installation for Windows (x64/x32).

📸 Visual Tour

Clean and Intuitive Interface

Manage all your PHP versions in one place. The interface is simple, direct, and supports both light and dark themes to match your preference.

Main Screen - Light Theme
Main screen showing available PHP versions.

Quick php.ini Editing

No more manual file editing. Enable or disable common PHP extensions like pgsql, gd, or xdebug with a single click through a user-friendly modal.

PHP.ini Edit Modal
Modal for quick editing of the php.ini file.

Full Control from the System Tray

PHPShift can be minimized to the system tray (next to the clock), allowing you to switch PHP versions without even opening the main window. It's the perfect way to stay productive.

System Tray Menu
Convenient context menu in the system tray.


🚀 Installation (For Users)

  1. Go to the Releases page of this repository.
  2. Download the .exe installer file for the latest version (e.g., PHPShift Setup X.Y.Z.exe).
  3. Run the installer and follow the instructions.

🛠️ For Developers (Development Environment)

If you want to contribute or just run the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/andersondanieln/phpshift.git
  2. Navigate to the project folder:

    cd phpshift
  3. Install the dependencies:

    npm install
  4. Start the development environment:

    npm run dev

    This command will start the Vite development server for the frontend and then the main Electron process. The application will open with developer tools enabled.


📦 Building the Installer

To compile the application and generate the .exe installation files, follow these steps:

  1. Open the terminal as an Administrator: On Windows, it's crucial to run this command in a terminal with elevated privileges to avoid permission errors during the build process.

  2. Run the build command:

    npm run build
  3. After completion, the installers will be available in the release/ folder.


💻 Tech Stack

  • Electron: Framework for creating desktop applications with JavaScript, HTML, and CSS.
  • React: Library for building the user interface in a component-based and reactive way.
  • Vite: Extremely fast frontend build tool that offers a superior development experience.
  • Node.js: Used for the backend logic in the Electron main process, such as file and environment variable manipulation.
  • Electron-Store: To persist user settings (path, theme, language, etc.).
  • Electron-Builder: Tool for packaging and creating installers for different platforms.
  • NSIS: System for creating Windows installers, used by Electron-Builder for custom options.

📄 License

This project uses a dual-license model.

  • For personal, non-commercial use: It is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
  • For commercial use: A separate commercial license must be obtained by contacting the author. Using this software in a commercial product or service without a proper license is a violation of copyright.

Please see the LICENSE.md file for full details.


👨‍💻 Author

Made with ❤️ by Anderson Nascimento

LinkedIn   Website