【发布时间】:2011-10-21 15:28:23
【问题描述】:
我在我的 Mac 上的本地 AMP 堆栈上运行第三方 PHP 应用程序。我最近购买了一台带有 Lion 的新 Mac Mini,并正在尝试设置它。我以前的电脑是带有 MAMP 的 MB air。现在我正在使用内置的 apache/php 和一个自制的安装 MySQL。
这是我的问题:我有一个带有符号链接的目录。这些符号链接指向目录,PHP 应用程序正在使用is_dir() 检查这些符号链接。
在我的 Lion AMP 设置中,is_dir() 失败。我的 Snow Leopard MAMP is_dir() 上的相同设置适用于我的符号链接。
这就是它变得更加好奇的地方。如果我执行php -a(php 交互式命令行模式),并在相同的目录上执行is_dir(),它返回true。它仅在 apache 请求的上下文中返回 false。这让我认为这与 apache 用户(_www)无法访问符号链接有关。解决此问题超出了我的专业知识范围。
其他说明:
- 是的,我在我的 apache 配置中打开了
FollowSymLinks,并且在 事实上,有问题的符号链接所在的目录是 符号链接本身。 Apache 对此没有任何问题。直到 PHPis_dir()是 用过。 - 不,我无法编辑 PHP 应用程序,只能使用
is_link()和readlink()。 - 这个完全相同的设置适用于我的 Snow Leopard/MAMP 设置。
有什么想法吗?
【问题讨论】:
-
在您真正递归到它们之前,符号链接是否仍被视为文件?
标签: php apache macos symlink osx-lion