目前我有:
$files = array_merge(
glob($path_ . '*.js'),
glob($path_ . '*.css'));
如果Windows上的目录为空,则返回一个空数组。如果它们在linux上为空,则不返回任何内容。
这会在linux上产生这个错误: 警告:array_merge()[function.array-merge]:参数#1不是数组
经过一些进一步的研究和测试后,我发现它是PHP中的一个错误:https://bugs.php.net/bug.php?id=53460
答案 0 :(得分:4)
来自http://php.net/manual/en/function.glob.php:
返回一个包含匹配文件/目录的数组,为空 如果没有文件匹配则为数组,如果错误则为FALSE。
检查linux上是否glob($path_ . '*.js') === FALSE
。在这种情况下,可能存在权限错误或类似的情况。如文档所示,如果没有错误,它应该是一个空数组。
同时检查文件/目录中的大小写。 Windows不区分大小写,可以解释windows和linux之间的区别。