我正在使用内置的apache服务器和php / mysql在mac OSX 10.8上开发moodle 2.4
我遇到的问题是为什么我尝试上传任何内容我得到错误消息PHP缺少一个临时文件夹。
然后我将实时副本下载到我的笔记本电脑上,因为我知道这个工作正常,但我的本地主机仍然遇到同样的错误。
我该如何解决这个问题?
答案 0 :(得分:13)
打开php.ini文件,查看upload_tmp_dir
的值,然后仔细检查路径是否存在。
而且,显然,apache也可以对它进行写访问。
答案 1 :(得分:1)
只是添加到这个,在Windows上引用php.ini文件中的相同upload_tmp_dir设置,并确保IUSR帐户具有对此目录的完全控制/写入权限。
答案 2 :(得分:0)
作为解决方案,我建议问题可能出在 open_base_dir
php.ini 常量上。如果这个常数有一些价值。
您可以删除 open_basedir
参数。或许,此举可以解决问题。
上述解决方案在某些情况下可能是危险的。
我建议附加 :/tmp
而不是删除 open_basedir 如果
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()和导航来检测php.ini路径
ini_path
块。
答案 3 :(得分:-3)
更改/ tmp文件夹的权限 chmod 777 / tmp