今天在一个windows的服务器iis上安装thinkphp6,按照正常理解应该把站点运行目录设置在public,但是安装完第一次访问正常,再刷新就500,打开报错显示:Warning: require(D:\web\vendor\autoload.php): failed to open stream: Too many open files in D:\web\public\index.php on line 15
Fatal error: require(): Failed opening required 'D:\web\public/../vendor/autoload.php' (include_path='.;C:\php\pear') in D:\web\public\index.php on line 15
想去看看日志有没有问题,看了一眼runtime目录没有日志生成,怀疑是权限问题,把运行目录改回根目录,访问public发现日志可以正常生成,也不报错了。
找了一圈由于thinkphp6刚出,基本没资料,官网也没有人遇到过,那就自己折腾吧。
但是总不能让用户每次访问都手动加public吧。于是让URL重写帮我们加public吧。
折腾了半天把根目录下的web.config拼凑出来了<?xml version="1.0" encoding="UTF-8"?>
测试各方面都没什么问题,搞定~
就是折腾了我两个多小时,心累~