其他分享
首页 > 其他分享> > tp5.1 配置多个项目共用同一个核心库

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

标签:__,tp5.1,同一个,配置,目录,子项目,共用,php,public
来源: https://www.cnblogs.com/makalochen/p/13052768.html