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


realpath() returning false on existing files on Mac OS X XAMPP server

基本上,我有一个脚本看不到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通信的信息亭iMac,否则我就不会在OS X上运行apache。iPad需要从iMac中检索一些图像,而PHP基本上是作为代理来实现这一点的。我创建了一个后端,让管理员设置图像的路径,这就是发生此错误的地方。

所以,我不确定发生了什么。我想这与外部硬盘上这些文件的权限和所有者之间的冲突有关。我相信我们可以在Terminal中做一个"chown"或"chmod",但这并不是一个很好的解决方案。我喜欢让PHP适应这样的场景。有什么想法吗?求你了!?:-)

这是一个奇怪的问题,但尽管这很有效:

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

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

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

手册中确实说明了The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return FALSE.,这似乎是问题所在。