目前我有:
$files = array_merge(
glob($path_ . '*.js'),
glob($path_ . '*.css'));
如果窗口上的目录为空,则返回一个空数组。如果它们在 Linux 上为空,则不会返回任何内容。
这会在 Linux 上产生此错误:警告:array_merge() [function.array-merge]:参数 #1 不是数组
- 视窗: 阿帕奇:2.2.21 PHP:5.3.10
- Linux/Debian: Apache:2.2.16 PHP:5.3.10
经过进一步的研究和测试,我发现它是PHP中的一个错误:https://bugs.php.net/bug.php?id=53460
从 http://php.net/manual/en/function.glob.php:
返回一个包含匹配文件/目录的数组,一个空的 数组(如果没有匹配的文件)或错误时为 FALSE。
检查 Linux 上是否glob($path_ . '*.js') === FALSE
。在这种情况下,可能存在权限错误或类似的东西。如果没有错误,它应该是一个空数组,如文档所示。
还要检查文件/目录中的大小写。Windows不区分大小写,这可以解释Windows和Linux之间的差异。