php 无法解析符号链接

hil*_*rge 3 php

php 似乎没有解析符号链接。

我试图将符号链接的目标添加到 php 文件中的包含路径,但 php 似乎无法识别符号链接指向目录,因此无法找到我想要包含的文件。

对于上下文,这里是相关目录详细信息

$> pwd
/var/www/siteroot

$> ls -l 
content 
...
includes -> content/subdir/includes
...
public_html

$> ls includes/common/
default-home.php
Run Code Online (Sandbox Code Playgroud)

这是我试图从中加载页面的 php 文件default-home.php

$> cat public_html/index.php
<?php
wanted_path="../includes/common" 
set_include_path($wanted_path.PATH_SEPARATOR.get_includes_path());
var_dump(is_dir($wanted_path)); # testing to see if the included path is a directory
var_dump(is_dir("../includes")); # test to see if the symbolic link alone resolves to a directory
include "default-home.php"; 
?>
Run Code Online (Sandbox Code Playgroud)

根据上述内容,当我访问该index.php网页时,我希望看到:

bool(true) bool(true)
...(output/contents of default-home.php)
Run Code Online (Sandbox Code Playgroud)

但是,is_dir()调用结果为 False 和 False,并且错误日志显示

PHP Warning: include(default-home.php): Failed to open stream: No such file or directory 
Run Code Online (Sandbox Code Playgroud)

根据我读到的有关 php 的内容,例如this SO Questionphp docs,似乎 php 通常默认解析符号链接,但也许我的配置不同?

无论如何,我怎样才能让 php 找到符号链接下目录中的文件?

我在 OpenBSD5.7 本机 httpd 服务器上使用 PHP 5.5.22。提前致谢。

编辑

事实证明这是一个权限问题。显示权限和所有权:

$> ls -la
drwx-------   hilcharge daemon    ...  content
...
lrwxr------   hilcharge daemon    ... includes -> content/subdir/includes/
...
Run Code Online (Sandbox Code Playgroud)

即使使用 更改includes目标的权限后chmod -R -L 0755 includes,仍然找不到文件夹。

为了解决问题,我更改了content和的权限subdir

Jan*_*nek 5

我的情况是 php-fpm vhost 配置中 open_basedir 限制的问题 - 设置如下:

php_admin_value[open_basedir]=/website/dir:/symbolic-link-original/dir
Run Code Online (Sandbox Code Playgroud)