丢失一个临时文件夹

3

我正在使用内置的apache服务器和php/mysql开发moodle 2.4,操作系统是Mac OSX 10.8。

问题在于当我尝试上传任何东西时,都会出现PHP缺少临时文件夹的错误消息。

我已经在我的笔记本电脑上下载了可用版本并运行,但在本地主机上仍然遇到相同的错误。

如何解决这个问题?

4个回答

12
打开你的php.ini文件,查看upload_tmp_dir的值,并确保该路径存在。当然,还要确保apache也具有写入它的权限。

1

补充一下,对于 Windows 系统,在 php.ini 文件中设置相同的 upload_tmp_dir,并确保 IUSR 帐户对此目录具有完全控制/写入访问权限。


0
作为解决方案,我建议问题可能出在 open_base_dir php.ini 常量上。如果这个常量有一些值。

可能的解决方案1

您可以删除 open_basedir 参数。也许,这个操作可以解决问题。

可能的解决方案2

在某些情况下,上述解决方案可能会很危险。 如果存在 open_basedir ,我建议添加 :/tmp 而不是删除 open_basedir。此操作可以通过将PHP临时目录添加到冒号后面的open_basedir来完成:

open_basedir = "old-path:/tmp"

然后,使用终端命令重新启动php7.2-fpm。
sudo service php7.2-fpm restart

或者你的 PHP 版本。

sudo service php7.x-fpm restart

通常,可以通过调用phpinfo()并导航到ini_path块来检测php.ini路径。

-3

更改 /tmp 文件夹的权限 chmod 777 /tmp


你不应该在 /tmp 上设置执行权限。这个问题需要解决。 - Andrew Spode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接