需求

需求:多个项目共用一个tp5.1核心库(原来的thinkphp 是在项目的根目录下面,现在需要提出来)

如:

tp5.1 配置多个项目共用同一个核心库

要保证其他的项目正常运行,需要配置那些东西呢?

配置

项目的think文件配置

你按照需求将thinkphp移到上一级目录,这时候你进入到项目目录打开命令行窗口运行

php think route:list

查看路由,你会发现它会警告你base.php找不到,如

tp5.1 配置多个项目共用同一个核心库

要解决这个问题,需要将think文件里面的一处内容修改下

内容如下:

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

将目录往上跳一级

tp5.1 配置多个项目共用同一个核心库

再次运行,就不会出现刚刚的警告

tp5.1 配置多个项目共用同一个核心库

项目的public/index.php的配置

没改之前你访问路由你会发现

tp5.1 配置多个项目共用同一个核心库

还是说base.php,找不到,进入index.php

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

tp5.1 配置多个项目共用同一个核心库

apache虚拟主机的配置

进入apache\conf\extra目录下的httpd-vhosts.conf文件,配置网站的跟目录到虚拟主机的最外层目录

例如

原来的配置是:项目根路径/public

D:/php_code/tp5.1/public

想在需要配置成: 多个项目的根目录

D:/php_code/

tp5.1 配置多个项目共用同一个核心库

参考配置

# 设置虚拟主机
<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>

配置到最外层目录,你访问我们的虚拟主机,你会发现,其实就是进了我们在虚拟主机配置的目录

tp5.1 配置多个项目共用同一个核心库

只不过之前我们配置虚拟主机的时候一直将根目录配置到项目的public目录下

那么我们现在该如何访问,我们的各个子项目,和路由呢?

项目访问和路由

子项目访问格式

主机:端口(80可不写)/子项目名/public

例:

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

tp5.1 配置多个项目共用同一个核心库

子项目路由访问格式

主机:端口(80可不写)/子项目名/public/子项目配置的路由点

例:

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

tp5.1 配置多个项目共用同一个核心库

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-24
  • 2022-12-23
  • 2022-01-14
  • 2021-06-06
  • 2022-12-23
  • 2022-02-26
猜你喜欢
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-16
  • 2021-06-24
  • 2021-04-01
相关资源
相似解决方案