在确保你使用mkdir()不是创建两个文件层级以上时。就不是你程序的问题,而是Linux的读写权限问题,解决方法就是将你的项目提权为777,可参照下面的链接
mkdir解决博客
- 但是当你将项目权限提升为777后还是报这个错误的时候,那么就要定位你的代码规范了,
- 原:mkdir(ROOT_PATH.'public/vvoff/serialize/'.$date);
如上mkdir有多个斜杠(/)当层级目录不存在时,创建的就不是一个文件层级,而是两个以上的文件层级,那么mkdir()就该这样用了,0777是最大权限,true为允许嵌套目录中指定的路径创造。
- 改:mkdir(ROOT_PATH.'public/vvoff/serialize/'.$date,0777,true);
搞定,建议是用mkdir()的时候都把后面的两个参数带上!(windows下可忽略)
网友评论