php - 我无法在 Linux 上使用 PHP 上传文件

标签 php apache

我在 RedHat 8.7 上运行 PHP 8.2.9、Apache 2.4.37 (Red Hat Enterprise Linux)。

不知何故,我无法将文件上传到项目下的特定文件夹。

This this the folder where the project is running /opt/policy_editor/www/html
drwxr-xr-x.  2 apache apache   62 Mar  2 14:51 depreceated_files
drwxr-xr-x.  2 apache apache 4096 Mar 13 15:39 img
drwxr-xr-x. 11 apache apache 4096 Aug  4 10:04 inc
-rw-r--r--.  1 apache apache 8646 Aug  4 09:49 index.php
-rw-r--r--.  1 apache apache   19 Mar  2 14:51 info.php
-rw-r--r--.  1 apache apache 5401 Jul 28 09:38 login.php
-rw-r--r--.  1 apache apache  101 Mar  2 14:51 logout.php
-rw-r--r--.  1 apache apache  395 Mar  2 14:51 mail.php
-rw-r--r--.  1 apache apache 1485 Mar 13 15:39 maintenance.php
drwxr-xr-x.  2 apache apache 4096 Jul 28 09:38 sql_updates
drwxrwxrwx.  2 apache apache    6 Aug  4 10:11 tmp
drwxrwxrwx.  2 apache apache    6 Aug  4 09:47 uploads

我拥有所有正确的权限,但仍然无法将文件移动到上传。 我已确认上传文件保存在系统文件夹的/tmp

但是我收到这些错误

警告:move_uploaded_file(uploads/test.pol):无法打开流:/opt/policy_editor/www/html/inc/admin/admin_post_commands.php 第 487 行的权限被拒绝

警告:move_uploaded_file():无法将“/tmp/phpV2j8Vv”移动到第 487 行/opt/policy_editor/www/html/inc/admin/admin_post_commands.php 中的“uploads/test.pol”

我在这个 channel 上似乎有类似的错误,大多数解决方案都指向更改权限。 除非我遗漏了什么,否则许可似乎不适合我。 我也尝试过将应用程序移至/var/www 下,但遇到了同样的问题。

最佳答案

您似乎对相对和绝对文件路径有疑问。

使用绝对路径进行测试

__DIR__ . "folder/file.ext";

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

相关文章:

linux - 无法使用 python 2.7.6 的系统版本而不是 virtualenv 版本停止 apache

php - 使用 PHP 将新的 MySQL 数据附加到 JSON 文件

php - 如何从 Python 运行 php 代码字符串?

PHP异常: SQLSTATE[42000]: Syntax error or access violation: 1064

linux - Fedora 配置以启用 TLS 1.2

ruby-on-rails - Capistrano 部署 Rails 应用程序 - 如何处理长时间迁移?

php - 通过 mysql 发送斜杠

php - 如何在 php 中包含 css 文件以隐藏文件夹结构?

php - 如何使自动化任务比简单的 CRON 作业更高级?

apache - 将所有请求重定向到 index.php