我正在尝试使用 SELECT INTO OUTFILE 将文件写入另一个目录中的自定义目录,该目录比我的文档根目录高一级。我可以写信到 /tmp,所以我知道其他一切都在工作。
我正在使用文件的绝对完整路径。我可以使用 PHP 创建目录并 chmod 到 0777。目录创建成功,模式设置正确(通过 SSH 和 FTP 查看)。
我要使用的路径示例:
/var/www/vhosts/mysite/private_www/data_export/newdir/
我原以为只要目录是世界可读/可写/可执行的,MySQL 就可以写入它。但我仍然收到此错误。
无法创建/写入文件(错误代码:13)
我发现了很多关于此错误的帖子,但除了写入 /tmp之外没有其他解决方案。但是,如果我写入 /tmp,我必须添加更多代码来处理文件名,然后将文件复制到我想要的位置。
我认为也许我需要一条不同于 PHP 的 MySQL 路径。有没有办法检查 MySQL 将什么视为服务器根目录?但是,我不确定这可能是问题所在,因为我能够使用相同的路径加载数据输入文件。
我的设置
- 中央操作系统 6
- PHP 5.3
- MySQL 5.5
- 带 Plesk 控制面板的专用服务器
- PHP 作为 Apache 模块运行
我错过了什么?