我刚刚在我的服务器上创建了一个新文件夹,并设置了所有正确的权限,我很确定。
该文件夹在那里,但我的PHP无法找到实际的文件夹吗?
任何想法为什么?
我唯一能想到的是我的文件夹名称中包含特殊字符。
我用这个命令创建它:
sudo mkdir "Textiler & Sybehör"
我有很多其他目录都有这些字符,它们工作正常。
这个似乎不起作用......
我被困住了!
PHP说无法找到目录...
更新:
在命令行工具中,我尝试像这样移动目录:
mv "Textiler & Sybehör" images/"Textiler & Sybehör"
我收到此错误:
无法统计`Textiler& Sybeh \ 366r':没有这样的文件或目录
就好像字母“ö”没有被正确解释一样。
答案 0 :(得分:2)
当您使用sudo
创建目录时,表示它是以超级用户或root用户身份创建的。如果您的Web服务器使用suexec并以普通用户身份运行PHP,则PHP将无法访问其他用户拥有的文件夹和/或文件。
检查您的托管服务提供商或服务器是否正在使用suexec。
另一件事是确定您的文件夹是否真的需要由root用户拥有。如果没有,请使用以下命令更改所有者:sudo chown <regular_user>:<regular_user>
其中<regular_user>
是运行PHP的帐户。
答案 1 :(得分:1)
虽然可能是因为名字中的字符。文件夹结构怎么样?你有一个带有重写基集的.htaccess文件吗?代码片段会很棒。
还可以检查所有权权限(chown),然后chmod该文件夹,使其可写。