gpt4 book ai didi

php - 在 Linux 机器上使用 PHP 上传文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:46 25 4
gpt4 key购买 nike

我正在尝试在 headless raspbian 机器上制作某种云应用程序。测试发生在运行在 windows8.1 上的 wamp-server 上。 PHP版本为5.6

该代码在我的测试窗口中运行良好,但在我的 Linux 服务器上运行相同的代码时遇到问题。我已经将问题缩小到(背后的 linux 用户)我的 PHP 代码对它应该存储文件的文件夹没有写权限。

我可以想到两种方法来解决这个问题:要么授予 php 用户权限,要么更改 php 代码背后的用户。如果可以更改每个脚本,最后一个将非常有趣。

所以,对于我的具体问题:

1) 我在哪里可以找到我的 PHP 代码正在使用的用户?

2) 我能否更改我的 PHP 代码使用的用户,最好是在每个项目的基础上?

编辑:

我的脚本以 root 身份运行,如 echo get_current_user(); 所示.我将所有文件的所有权更改为 root:webhosting,以前是 ftpuser:ftpgroup。但是,将权限设置为 770 时我访问被拒绝

编辑2:

使用 var_dump(posix_geteuid()); 时而不是 get_current_user(); ,我得到 UID 33,它匹配用户 www-data。

解决方案:

通过查看 EUID var_dump(posix_geteuid(); 我能够验证与 get_current_user(); 不匹配的实际用户.使用 sudo chown -R www-data:www-data <root of site> 更改目录及其中的所有文件我设法设置了正确的权限。

最佳答案

我不确定具体是什么,但通常当我遇到这样的问题时,我将所有权更改为 www-data:www-data 并且如果需要上传文件夹,我将文件夹权限更改为 0755 并将内部文件权限更改为 0644 .

编辑

出于安全目的,我更改了权限设置。

关于php - 在 Linux 机器上使用 PHP 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43146956/

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