如上所述,当symlinking到httpdocs目录之外的php文件时,Apache / php会提供一个空文件。但是,如果我将扩展名更改为html,则该文件将作为html文档正确提供。这让我相信它不是权限错误,但可能是与php配置相关的东西(open_basedir可能导致这个吗?)或Apache。
有谁知道可能导致此行为的原因是什么?
编辑:对于任何想知道这个问题的人来说,问题是由于php open_basedir限制引起的。
答案 0 :(得分:1)
在PHP中启用错误报告并检查PHP错误日志。 100%保证您有致命的脚本或配置错误。
答案 1 :(得分:0)
我测试了webroot / htdocs中的PHP脚本符号链接。工作得很好。
制作以下文件
/some/directory/myphpscript.php (the script)
/some/directory/htdocs/symlink.php (webroot)
在myphpscript.php中我添加了一个hello world脚本(<?php echo 'Hello world'; ?>
)。当站在/ some / directory / htdocs /中时,使用follow命令从命令行创建符号链接:
ln -s ../myphpscript.php symlink.php
确保
../../path/to/script.php
)。通过打开文件(例如nano symlink.php
)来测试链接。查看Apache error.log以获取错误消息。