gpt4 book ai didi

php - 符号链接(symbolic link)破坏 CodeIgniter 上传库

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:59 30 4
gpt4 key购买 nike

我的 Web 应用程序的目录结构如下所示:

在/home/staging 中:

proj
proj-builds

在/home/staging/proj 中:

uploads
www -> /home/staging/proj-builds/b-119/www

在/home/staging/proj-builds 中:

proj-b922
proj-b921
...

我将 www 设为 proj 的最新 b-#/www 目录的符号链接(symbolic link),该目录位于 之外项目目录。

尝试使用 Upload 类上传内容时,出现此错误:“上传路径似乎无效”

当目录没有符号链接(symbolic link)时,这不会发生。

Apache 虚拟主机指向 www 符号链接(symbolic link)。

知道为什么会发生这种情况以及如何解决它吗?

最佳答案

查看符号链接(symbolic link)解析 ...

自 PHP 4.0.2 起,所有符号链接(symbolic link)都已解析,这意味着您放入 /home/staging/proj/www/ 文件夹中的脚本(例如:myscript.php)将“看到”本身不是/home/staging/proj/www/myscript.php而是/home/staging/proj-builds/b-119/www/myscript.php如果脚本希望在预先固定的位置看到自己,这可能会导致一些问题。

请注意,对于 Windows 下的 PHP 5.2.x,符号链接(symbolic link)仍未解析,而对于 Windows 下的 5.3.x,它们已解析。在其他类 Unix/Linux 操作系统下,它们在大多数情况下都已解决。

你可以用这个...

<?php print "__FILE__ = " . __FILE__ . "<br />\n"; ?>

...自己看看,将其放入不同位置的文件中。

相同的主体适用于 include/require 语句。

因此,如果您使用的代码希望在固定(可能在配置中定义)位置查看脚本或访问文件夹,例如:/home/staging/proj/www/,它不会在预期的位置找到它。

解决方案是以不同方式链接构建或以不同方式设置配置。

关于php - 符号链接(symbolic link)破坏 CodeIgniter 上传库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053444/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com