superterran/magento-phpserver

为本地开发提供一些有用功能的组件

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:magento2-module

dev-main 2022-06-04 17:14 UTC

This package is auto-updated.

Last update: 2024-09-04 22:33:43 UTC


README

此magento2模块提供一系列bin/magento命令来管理PHP内置的web服务器,以实现高性能的本地开发实例。它还通过docker组合提供数据库和elasticsearch,并尝试为您管理。

这种本地开发方法的优点在于,php没有容器化,而是在“裸机”上直接运行。这意味着Magento在硬件上本地运行,释放了全部的速度潜力,避免了MacOS中所有Docker卷的麻烦,这使得即使是简单的任务也变得相当麻烦。这种设置不使用mutagen,也不依赖于任何类型的代码库卷挂载。

安装

它像普通的magento模块一样工作,但需要phpdockerdocker-compose

作者还使用direnv来管理使用所需的环境变量,查看.envrc.sample以获取默认值。

    brew install php@8.1 direnv

您可以通过composer安装magento-phpserver包...

    composer require --dev superterran/magento-phpserver
    cp vendor/superterran/magento-phpserver/.envrc.sample .envrc && direnv allow

设置Magento

安装完成后,运行bin/magneto以触发数据库和elasticsearch服务。这些服务作为后台进程启动。

    bin/magento configure

configure将触发setup:install。Magento的setup:install将创建config.phpenv.php。这个过程不会破坏现有数据。

将来,此步骤还将请求导入mysql转储的路径。

使用方法

配置完成后,您应该会发现bin/magento命令将在您的本地会话中运行。要为本地开发打开本地web服务器,请执行以下操作

    bin/magento serve

这将提供一个URL(请参阅.envrc),您可以在浏览器中打开该站点。由于php是在“裸机”上运行的,因此您所做的任何文件系统更改都将立即生效。要关闭后端,只需运行

    bin/magneto down

PHP并发

使用类似homebrew或phpbrew的工具,此工具可以在具有不同php版本的Magento项目之间使用。

    brew install php@7.4 # let's bring in php 7.4 
    brew link php@7.4 # let's use it system-wide, useful for magento-cloud-cli

    brew install php@8.1.6 # we want to build our sites using the latest version of php
    cd path/to/8.1-based-project/webroot

在.envrc中设置PHPSERVER_PHP_VERSION=8.1.6并运行direnv allow以更新会话变量

    composer install && bin/magento # commands run in php 8.1! 

您仍然可以使用为旧版本编写的全局PHP服务,例如

    cd ~
    magento-cloud login # runs without warnings in the system-wide 7.4 version

贡献

欢迎贡献!如果您有问题或建议,请提交问题,或者自由分支并提交PR!