file_exists从浏览器调用时出现奇怪的行为

时间:2014-08-12 07:31:40

标签: php macos apache

file_exists()我有一种奇怪的行为:

从浏览器调用时:

  • file_exists()将检测我的桌面(在Mac上):/Users/myName/Desktop
  • file_exists()将无法检测到我桌面上的文件:/Users/myName/Desktop/any

我用777

为所有目录做了准备
chmod -R 777 /Users/myName/Desktop/any

当作为脚本调用时(第一行= #!/usr/bin/env php),两个文件都被识别。

你对这个问题有什么线索吗?

它与apache有关吗? (我修改了我的默认apache conf以获得最小的文件,所以我可能也删除了重要的指令)或者它是否与mac相关?

这是我的剧本:

<?php

var_dump(file_exists("/Users/myName/Desktop"));         // true
var_dump(file_exists("/Users/myName/Desktop/dd"));      // false

1 个答案:

答案 0 :(得分:2)

您的HTTP服务器可能在特定用户上运行。您的桌面受到您帐户的保护。在Mac OS上,其他用户无法访问您的桌面。

结果=您的http服务器无法访问您的桌面,因为它在另一个用户上运行:)

如果您需要http服务器访问某些个人文件,请使用〜/ public目录。