我正在使用内置的 apache 服务器和 php/mysql 在 moodle 2.4 上开发 mac OSX 10.8
我遇到的问题是为什么我尝试上传任何内容我收到错误消息 PHP 缺少临时文件夹。
然后我将 Live Copy 下载到我的笔记本电脑上,因为我知道这可以正常工作,但在我的本地主机上仍然出现相同的错误。
我怎样才能解决这个问题?
打开您的 php.ini 文件,查看值upload_tmp_dir
并仔细检查该路径是否存在。显然,那个 apache 也有对它的写访问权限。
补充一点,在 Windows 上,请参考 php.ini 文件中相同的 upload_tmp_dir 设置,并确保 IUSR 帐户对该目录具有完全控制/写入权限。
作为解决方案,我建议问题可能出在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() 和导航
ini_path
块来检测 php.ini 路径。
更改 /tmp 文件夹的权限 chmod 777 /tmp