Apache 无法显示某些图像文件,返回 500 错误(文件所有权/权限)

Apache 无法显示某些图像文件,返回 500 错误(文件所有权/权限)

我刚刚将所有文件从一台 Ubuntu 服务器复制到另一台,一切正常,只是 Apache 在旧服务器上由用户自己通过 PHP 脚本上传的图像文件上返回“错误 500 - 内部服务器错误!”。

我以 root 身份通过终端使用 ssh 登录服务器。

通过终端使用“ls -l”命令检查文件权限显示以下内容:

Apache 正确显示的文件示例:

-rw-r--r-- 1 root root 41K 1月6日 03:27 layout1.png

返回 500 错误的文件示例:

drwxrwxrwx 3 root root 4.0K 1月6日 03:41 516191110e5e1

我确实根据 stackoverflow 的提示尝试在文件上执行“chmod 644 -R *”,但 apache 错误变为“403 forbidden”。

知道是什么原因造成的吗?如何解决?

答案1

我在 Web 服务器之间移动文件时遇到了类似的问题,我提供了一些您可以尝试的不同方法。

首先,确保使用 Filezilla 时在“传输”->“传输类型”下未选中“ASCII”,否则可能会导致您遇到的错误。(此外,请确保文件的名称没有因某种原因而更改,我不怀疑这一点,但在移动过程中曾见过这种情况)。

其次,尝试对您上传的文件执行“chown root:root”,说真的,不要问我为什么,但有时即使文件看起来具有正确的权限,这种方法也能奏效。

最后,下载您上传到服务器的文件,并在另一台计算机上检查它们,以确保它们在传输过程中没有损坏。如果损坏,请尝试再次上传。

相关内容