当黑名单文件中有多个模式时,PHP OPcache崩溃

时间:2015-09-18 08:36:34

标签: php regex apache blacklist opcache

我在php.ini文件中配置了OPcache,如下所示:

[opcache]
zend_extension="C:\xampp-5.6\php\ext\php_opcache.dll"
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=0
opcache.load_comments=0
opcache.blacklist_filename="C:\xampp-5.6\php\cfg\opcache.blacklist"

如果黑名单文件中只有一个文件模式,一切正常。但是,只要我为另一个目录添加另一个文件模式,Apache就会中止启动过程,并且OPcache会发出以下错误消息:

Fri Sep 18 10:15:48 2015 (8684): Debug Loading blacklist file:  'C:\xampp-5.6\php\cfg\opcache.blacklist'
Fri Sep 18 10:15:48 2015 (8684): Error Blacklist compilation: empty (sub)expression

使其崩溃的黑名单文件如下所示:

C:\xampp-5.6\htdocs\Application1\rbac\*
C:\xampp-5.6\htdocs\Application2\rbac\*
  • 我尝试了不同的行结尾样式:Windows和UNIX
  • 这些目录中至少有一个文件
  • 错误消息提示错误的正则表达式,但OPcache文档说,允许使用通配符。
  • 我也试过转义反斜杠并使用.*而不只是*

这些尝试都没有改变任何东西。如果我将任何这些更改应用于单行文件,Apache将保持正常启动。但是,只要黑名单文件中有第二行(注释为第二行正在工作),Apache就会中止启动。

这个黑名单文件有什么问题?如何让它与多个目录/模式一起使用?

0 个答案:

没有答案