realpath()在Mac OS X XAMPP服务器上的现有文件上返回false

时间:2012-03-19 16:55:02

标签: php macos xampp

基本上,我有一个脚本无法在OS X机器上看到现有目录。该目录已从外部硬盘驱动器复制到桌面上,我认为这可能是问题的核心。

    $path = '/Users/username/Desktop/testfolder';
    $path = realpath($path);

以上情况不起作用。

    $path = '/Users/username/Desktop';
    $path = realpath($path);

以上情况正常。

我会给你一些情况的背景。我正在运行Mac OS X Lion 10.7。我已经安装了XAMPP。这是一个需要与同一网络上的iPad通信的kiosk iMac,否则我不会在OS X上运行apache.iPad需要从iMac中检索一些图像,而PHP基本上是作为代理运行的去做这个。我已经创建了一个后端,让管理员可以设置图像的路径,这就是发生此错误的地方。

所以,我不确定发生了什么。我想这与外部硬盘驱动器的一些权限冲突和这些文件的所有者有关。我相信我们可以在终端中做一个“chown”或“chmod”,但这不是一个很好的解决方案。我喜欢让PHP适应这种情况。有什么想法吗?请!? : - )

1 个答案:

答案 0 :(得分:0)

有点奇怪的问题,但虽然这有效:

$path = '/Users/username/Desktop';
$path = realpath($path);

“桌面”目录没有正确的权限。一旦我更改了桌面的权限,它就允许我访问此路径:

$path = '/Users/username/Desktop/testfolder';
$path = realpath($path);

manual确实陈述了The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return FALSE.这似乎是个问题。