在为php设置白名单时遇到以下问题:
我在phpunit xml中设置了以下过滤器:
<filter>
<whitelist>
<directory suffix=".php">../..</directory>
<exclude>
<directory>../../cache</directory>
<directory>../../public_html</directory>
<directory>../../temp</directory>
<directory>../../tools</directory>
</exclude>
</whitelist>
</filter>
没有该白名单,一切正常,但是当我放它时,系统崩溃,因为它试图包含所有文件.这使得它包含一个具有require_once的文件,从而使应用程序崩溃.
编辑在启动时,系统定义一些常数.由于在包含创建白名单的所有数据时未定义这些常量,因此它将尝试访问一个不存在的文件夹(PHP假定该常量为字符串),因此require_once失败,并且将其设为require,它崩溃了.
另外,如果有帮助,可以将白名单与Selenium一起使用.也许这就是问题的根源?
解决方法:
为了收集代码覆盖率信息,系统有点需要所有文件,这是预期的行为. (从技术上讲,不是必须的,但是确实如此)
如果您使用的是require_once,那应该不是问题,因为phpunit也会使用“ _once”来要求文件.
我们在充满了require_once语句的代码库上使用白名单,而我遇到的唯一问题是在两个地方定义了一个类.
标签:phpunit,whitelist,php 来源: https://codeday.me/bug/20191102/1991880.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。