一、环境搭建
1.环境描述
操作系统:win7
PHP集成环境:phpstudy
源码:LFI-Labs(去GitHub上下载)
将下载好的源码放在phpstudy的WWW目录下。
2.解决报错
如图所示,它会出现以下报错:
我找到的相关资料是:
这样的警告,只是一个因为PHP版本不同而产生的警告(NOTICE或者WARNING),而非错误(ERROR)。PHP中的变量在不声明的情况下使用 的时候,PHP4运行正常,但是到了PHP5环境下就会出现上述的警告或者提示。
解决措施:
在index.php的最上方添加error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
:
- 这句代码的意思是:提示除 E_NOTICE 和 E_WARNING 之外的所有错误信息。
- 因为根据它的报错提示可知,这里出现的是Notice和Warning,所以我们屏蔽这两个。
- 但是这样的话,每一关的index.php文件都需要添加这句话,有点小麻烦;据说是可以直接修改配置文件php.ini文件的,但我怕把环境整坏了,谨慎一点,还是每一关的index.php文件都手动添加吧。
这个环境问题我折腾了三个多小时,是我太菜……
因为我首先按照之前搭Sqli-Labs、DVWA、pikachu等源码环境的方法,想要去修改它的配置文件去连接数据库;
但是发现它源码的配置文件是在docker里配置的,然后我的固化思维就是要找到在phpstudy的配置方法,但是我在网上没有找到关于LFI-Labs的搭建教程;
加上它又在报错,我钻牛角尖了就一直认为可能是因为它本身是要搭建在docker上的才导致的报错,然后还学习了一下如何在phpstudy中设置Apache虚拟主机;
………
反正尝试了很多方法,最后才想到从报错信息入手。
但是网上只有与第一行报错信息类似的报错的解决方法,然后我就又傻了,想着应该是要一个一个解决报错,但后两行报错又找不到相似的报错……
直到最后的时候才灵机一动举一反三,写出了最后的error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);。
虽然最后有收获,但时间成本太高了……归根到底还是我太菜了……