Rumah >rangka kerja php >ThinkPHP >Bagaimana untuk menggunakan ThinkPHP6 untuk pengurusan berbilang tapak?
Dalam pembangunan web, kadangkala anda perlu membina berbilang tapak untuk pelanggan, tetapi mengekalkan berbilang tapak akan meningkatkan beban kerja Dalam kes ini, anda perlu menggunakan pengurusan berbilang tapak. ThinkPHP6 ialah rangka kerja berkuasa yang menyokong pengurusan berbilang tapak. Artikel ini akan berkongsi cara menggunakan ThinkPHP6 untuk pengurusan berbilang tapak.
1. Konfigurasikan hos maya
Untuk menggunakan pengurusan berbilang tapak, anda perlu mengkonfigurasi hos maya pada pelayan. Secara amnya, konfigurasi hos maya dilakukan dalam fail konfigurasi Apache, yang boleh dicapai dengan mengedit fail httpd.conf
. Sebagai contoh, kita boleh mengkonfigurasi dua hos maya secara tempatan. Katakan satu tapak ialah www.site1.com
dan satu lagi adalah www.site2.com
, maka kita boleh mengkonfigurasinya seperti ini.
<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>
Perlu diambil perhatian bahawa direktori akar dokumen yang ditentukan mesti wujud dan boleh dibaca dan ditulis.
2 Cipta projek ThinkPHP6
Tiada perbezaan antara mencipta projek pengurusan berbilang tapak dan mencipta projek biasa. Cipta projek menggunakan arahan Komposer: composer create-project topthink/think myproject
. Selepas penciptaan, struktur direktori adalah seperti berikut:
myproject ├─app │ ├─admin │ └─index ├─config ├─public ├─route ├─runtime └─think
Terdapat dua direktori di bawah projek ini, index
dan admin
. Kita boleh menganggap direktori index
sebagai direktori akar satu tapak, dan direktori admin
sebagai direktori akar tapak lain. Untuk pengurusan yang lebih mudah, kami boleh menyediakannya sebagai aplikasi berasingan.
3. Konfigurasi berbilang aplikasi
Untuk mencapai pengurusan berbilang aplikasi, kami perlu membuat pengubahsuaian dalam fail konfigurasi.
app.php
app.php
dalam direktori config
. Mula-mula, kita perlu menetapkan auto_multi_app
kepada true
dalam fail konfigurasi.
return [ 'auto_multi_app' => true, 'app_map' => [ 'site1' => 'index', 'site2' => 'admin', ], ... ];
Kami kemudian menggunakan item app_map
untuk mentakrifkan aplikasi bagi setiap tapak. Sebagai contoh, kami menetapkan site1
kepada index
aplikasi dan site2
kepada admin
aplikasi.
route.php
Buka fail route.php
dan konfigurasikan peraturan penghalaan untuk setiap tapak. Contohnya, untuk tapak site1
, kita boleh mengkonfigurasinya seperti ini:
Route::domain('www.site1.com', function () { Route::get('/', 'index/hello'); });
Ini akan mengikat kaedah www.site1.com
pada pengawal index
dalam aplikasi Index
. hello
, konfigurasi kami mungkin kelihatan seperti ini: site2
Route::domain('www.site2.com', function () { Route::get('/', 'admin/hello'); });Ini akan mengikat
pengawal dalam kaedah www.site2.com
aplikasi admin
dihidupkan. Index
hello
4. Pengujian
Kini, kami telah menyelesaikan konfigurasi pengurusan berbilang tapak. Sekarang mari kita mengujinya. Buka penyemak imbas anda dan taip
dalam bar alamat Anda seharusnya melihat output kaedah dalam pengawal www.site1.com
aplikasi index
anda. Begitu juga, masukkan Index
dan anda seharusnya melihat output kaedah hello
dalam pengawal www.site2.com
dalam aplikasi admin
. Index
hello
Jika terdapat sebarang masalah, sila semak konfigurasi hos maya anda, konfigurasi penghalaan, dsb.
5. Ringkasan
Menggunakan ThinkPHP6 untuk pengurusan berbilang tapak adalah tidak sukar untuk mengatur struktur direktori, pengurusan aplikasi dan konfigurasi penghalaan secara munasabah dan menyediakan hos maya yang berkaitan. Melalui artikel ini, saya percaya anda telah mempelajari cara menggunakan ThinkPHP6 untuk pengurusan berbilang tapak.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan ThinkPHP6 untuk pengurusan berbilang tapak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!