怎样使用ThinkPHP6举行多站点治理?
在web开发中,有时间需要为客户建设多个站点,可是维护多个站点会增添事情量,这时间就需要用到多站点治理。thinkphp6是一个有力的框架,它支持多站点治理。本文将分享怎样使用thinkphp6举行多站点治理。
一、设置虚拟主机
使用多站点治理,需要在效劳器上设置虚拟主机。一样平常虚拟主机的设置都是在Apache设置文件中举行的,可以通过编辑httpd.conf文件实现。例如,我们在外地可以设置两个虚拟主机。假设一个站点是www.site1.com,另一个是www.site2.com,那么我们可以这样设置。
<VirtualHost *:80> ServerName www.site1.com DocumentRoot "E:/www/site1/" <Directory "E:/www/site1/"> AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName www.site2.com DocumentRoot "E:/www/site2/" <Directory "E:/www/site2/"> AllowOverride All Require all granted </Directory> </VirtualHost>
登录后复制
需要注重,界说的文档根目录必需保存且可读可写。
二、建设ThinkPHP6项目
连忙学习“PHP免费学习条记(深入)”;
建设多站点治理的项目和建设通俗项目没有什么区别。使用Composer下令建设项目:composer create-project topthink/think myproject。建设完成后,目录结构如下:
myproject ├─app │ ├─admin │ └─index ├─config ├─public ├─route ├─runtime └─think
登录后复制
这个项目下有两个目录,index和admin。我们可以把index目录看作是一个站点的根目录,admin目录看作是另一个站点的根目录。为了利便治理,我们可以将它们设置为单独的应用程序。
三、多应用设置
为了实现多应用程序的治理,我们需要在设置文件中举行修改。
修改app.php
app.php文件在config目录下。首先,我们需要在设置文件中设置auto_multi_app为true。
return [ 'auto_multi_app' => true, 'app_map' => [ 'site1' => 'index', 'site2' => 'admin', ], ... ];
登录后复制
然后,我们使用app_map项来为每个站点界说应用程序。好比,我们将site1设为index应用程序,site2设为admin应用程序。
修改route.php
翻开route.php文件,为每个站点设置路由规则。好比,关于site1站点,我们可以这样设置:
Route::domain('www.site1.com', function () { Route::get('/', 'index/hello'); });
登录后复制
这将为www.site1.com绑定index应用程序中的Index控制器上的hello要领。
同样的,关于site2站点,我们的设置可能是这样的:
Route::domain('www.site2.com', function () { Route::get('/', 'admin/hello'); });
登录后复制
这将为www.site2.com绑定admin应用程序中的Index控制器上的hello要领。
四、测试
现在,我们已经完成了多站点治理的设置。现在我们来测试一下。翻开浏览器,在地点栏中输入www.site1.com,你应该可以看到index应用程序的Index控制器中的hello要领的输出。同样的,输入www.site2.com,你应该可以看到admin应用程序中的Index控制器中的hello要领的输出。
若是有任何问题,请检查你的虚拟主机设置、路由设置等。
五、总结
使用ThinkPHP6举行多站点治理并不难题,要害是要合理安排目录结构、应用程序治理和路由设置,并设置好相关的虚拟主机。通过这篇文章,信托您已经相识了怎样使用ThinkPHP6举行多站点治理。
以上就是怎样使用ThinkPHP6举行多站点治理?的详细内容,更多请关注本网内其它相关文章!