Php 返回额外路径前缀的tempnam

Php 返回额外路径前缀的tempnam,php,Php,当我们打电话时 $tmpFilename = tempnam(SIEFREPOSITORY, 'Sief'); 它回来了 /export/sief/share/htdocs/siefvalidator_prod/sieflog/SiefMVNtuW Siefrespository是 /share/htdocs/siefvalidator_prod/sieflog/SiefMVNtuW 为什么要添加额外的/export/sief前缀?似乎siefrespository路径不可写、不存在或不可

当我们打电话时

$tmpFilename = tempnam(SIEFREPOSITORY, 'Sief');
它回来了

/export/sief/share/htdocs/siefvalidator_prod/sieflog/SiefMVNtuW
Siefrespository是

/share/htdocs/siefvalidator_prod/sieflog/SiefMVNtuW

为什么要添加额外的/export/sief前缀?

似乎
siefrespository
路径不可写、不存在或不可用,在这种情况下,
tempnam
会返回到其他路径,如下所述:

在指定目录中创建具有唯一文件名且访问权限设置为0600的文件如果目录不存在,tempnam()可能会在系统的临时目录中生成一个文件,并返回该文件的名称

如果PHP无法在指定的dir参数中创建文件,它将使用系统默认值。在NTFS上,如果指定的目录包含的文件超过65534个,也会发生这种情况


检查该路径是否有问题,并查看上面链接站点中的注释,这里有一些关于获得对
tempnam

的更多控制的小贴士,这是因为/share符号链接到/export/sief/share,而更高版本的php从tempnam()返回绝对路径这给了我符号链接[/export/…]的目标


它给我带来了问题,因为它不在open_basedir中。

谢谢。我发现了问题。这是因为符号链接和tempnam()现在返回绝对路径。