superterran / magento-phpserver
为本地开发提供一些有用功能的组件
Requires
- php: *
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模块一样工作,但需要php
、docker
和docker-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.php
和env.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!