需求
需求:多個項目共用一個tp5.1核心庫(原來的thinkphp 是在項目的根目錄下面,現在需要提出來)
如:
要保證其他的項目正常運行,需要配置那些東西呢?
配置
項目的think
文件配置
你按照需求將thinkphp
移到上一級目錄,這時候你進入到項目目錄打開命令行窗口運行
php think route:list
查看路由,你會發現它會警告你base.php
找不到,如
要解決這個問題,需要將think
文件里面的一處內容修改下
內容如下:
require __DIR__ . '/thinkphp/base.php';
改成
require __DIR__ . '/../thinkphp/base.php';
將目錄往上跳一級
再次運行,就不會出現剛剛的警告
項目的public/index.php
的配置
沒改之前你訪問路由你會發現
還是說base.php,找不到,進入index.php
require __DIR__ . '/../thinkphp/base.php';
改成
require __DIR__ . '/../../thinkphp/base.php';
apache虛擬主機的配置
進入apache\conf\extra
目錄下的httpd-vhosts.conf
文件,配置網站的跟目錄到虛擬主機的最外層目錄
例如
原來的配置是:項目根路徑/public
D:/php_code/tp5.1/public
想在需要配置成: 多個項目的根目錄
D:/php_code/
參考配置
# 設置虛擬主機
<VirtualHost *:80>
# 設置網站根目錄
#DocumentRoot "D:/php_code/tp5.1/public"
DocumentRoot "D:/php_code"
# 設置網站域名
ServerName www.tp5.com
# 錯誤日志
#ErrorLog "D:/php_code/tp5.1//logs/error.log"
# 成功日志
#CustomLog "D:/php_code/tp5.1//logs/access.log" combined
# 設置目錄訪問權限
#<Directory "D:/php_code/tp5.1/public">
<Directory "D:/php_code">
# 指定目錄啟用特懷
Options Indexes FollowSymLinks
# 是否允許使用.htaccess文件
AllowOverride All
# 訪問目錄權限
Require all granted
</Directory>
</VirtualHost>
配置到最外層目錄,你訪問我們的虛擬主機,你會發現,其實就是進了我們在虛擬主機配置的目錄
只不過之前我們配置虛擬主機的時候一直將根目錄配置到項目的public
目錄下
那么我們現在該如何訪問,我們的各個子項目,和路由呢?
項目訪問和路由
子項目訪問格式
主機:端口(80可不寫)/子項目名/public
例:
http://www.tp5.com/login/public/
子項目路由訪問格式
主機:端口(80可不寫)/子項目名/public/子項目配置的路由點
例:
http://www.tp5.com/login/public/test