tp5.1 配置多個項目共用同一個核心庫


需求

需求:多個項目共用一個tp5.1核心庫(原來的thinkphp 是在項目的根目錄下面,現在需要提出來)

如:

image-20200605215519179

要保證其他的項目正常運行,需要配置那些東西呢?

配置

項目的think文件配置

你按照需求將thinkphp移到上一級目錄,這時候你進入到項目目錄打開命令行窗口運行

php think route:list

查看路由,你會發現它會警告你base.php找不到,如

image-20200605221243463

要解決這個問題,需要將think文件里面的一處內容修改下

內容如下:

require __DIR__ . '/thinkphp/base.php';
改成
require __DIR__ . '/../thinkphp/base.php';

將目錄往上跳一級

image-20200605221459846

再次運行,就不會出現剛剛的警告

image-20200605221751340

項目的public/index.php的配置

沒改之前你訪問路由你會發現

image-20200605223528723

還是說base.php,找不到,進入index.php

require __DIR__ . '/../thinkphp/base.php';
改成
require __DIR__ . '/../../thinkphp/base.php';

image-20200605223722133

apache虛擬主機的配置

進入apache\conf\extra目錄下的httpd-vhosts.conf文件,配置網站的跟目錄到虛擬主機的最外層目錄

例如

原來的配置是:項目根路徑/public

D:/php_code/tp5.1/public

想在需要配置成: 多個項目的根目錄

D:/php_code/

image-20200605220409224

參考配置

# 設置虛擬主機
<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>

配置到最外層目錄,你訪問我們的虛擬主機,你會發現,其實就是進了我們在虛擬主機配置的目錄

image-20200605224323050

只不過之前我們配置虛擬主機的時候一直將根目錄配置到項目的public目錄下

那么我們現在該如何訪問,我們的各個子項目,和路由呢?

項目訪問和路由

子項目訪問格式

主機:端口(80可不寫)/子項目名/public

例:

http://www.tp5.com/login/public/

image-20200605224915297

子項目路由訪問格式

主機:端口(80可不寫)/子項目名/public/子項目配置的路由點

例:

http://www.tp5.com/login/public/test

image-20200605225243610


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM