incrusio21 / laravel-erp
一个演示包
v0.0.1
2023-04-03 12:46 UTC
Requires
- php: ^8.1
- doctrine/dbal: ^3.5
- symfony/process: ^6.2
README
此包允许Laravel像erpnext一样工作,具有doctype,并且可以与多个HTTP域名协同工作。
此包受到 https://github.com/frappe/frappe
的启发(很可能是复制粘贴frappe,并将编程语言更改为php),并从 https://github.com/gecche/laravel-multidomain
学习以使Laravel能够与多个HTTP域名协同工作
安装
使用composer update更新包或使用composer install安装。
您也可以使用composer require incrusio21/laravel-erp
添加包,然后指定您想要的版本。
如果您想使用此包与多个HTTP域名协同工作,您需要比大多数Laravel包更多的配置步骤。
网站安装
在引导过程的最初阶段覆盖对HTTP站点的检测,以获取特定的环境文件。
安装步骤
- 通过修改
bootstrap/app.php
文件顶部的以下行,将整个Laravel容器替换掉。
//$app = new Illuminate\Foundation\Application( $app = new LaravelErp\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__), 'site' );
- 更新两个应用程序内核(HTTP和CLI)。
在app/Http/Kernel.php
文件顶部进行以下更改
//use Illuminate\Foundation\Http\Kernel as HttpKernel; use LaravelErp\Foundation\Http\Kernel as HttpKernel;
类似地,在app/Console/Kernel.php
文件中
//use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use LaravelErp\Foundation\Console\Kernel as ConsoleKernel;
创建公共链接
获取多个存储链接的方法可以是以下。假设有两个域名,分别是site1.com
和site2.com
,以及相关的存储文件夹site/site1.com/public
和site/site2.com/public
。
- 调用命令link(首先删除public中的文件夹链接)
php artisan erp:storage_link
- 将此行添加到您的
.htacces
RewriteCond %{REQUEST_URI} ^/storage/(.+)$
RewriteRule ^storage/(.+)$ %{HTTP_HOST}/$1 [L]
RewriteCond %{REQUEST_URI} ^/(site1\.com|site2\.com)(.*)?$
RewriteRule ^ "-" [F]
这使您可以通过默认存储来调用它,并在尝试从文件夹名称访问时强制跳转到禁止页面