使用Mac OS X Yosemite,Apache,PHP 5.5.14,MySQL 5.6.19,Drupal 7.32
由于文件路径错误,Drupal无法写入。错误的文件路径是temporary://fileXXXXXX
。我无法理解为什么Drupal无法将temporary://
转换为/tmp
。
我已经通过Drupal管理界面配置了临时文件目录,并在数据库中确认了它的修改...
SELECT * FROM variable WHERE name LIKE '%temporary_path';
+---------------------+------------+
| name | value |
+---------------------+------------+
| file_temporary_path | s:4:"/tmp" |
+---------------------+------------+
...并清除缓存以防万一;然而,无济于事。我还确认了/tmp
的权限,以防万一:drwxrwxrwt
。
同样,当使用我的数据库的新副本(生产中的SQL转储)通过git 和切换回我的主分支时 - 问题仍然存在。
错误格式如下......
/.../includes/file.inc:1941 file_put_contents(temporary://fileXXXXXX): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed
该问题与我的本地环境隔离,并且不会影响任何共享环境;然而,正在阻碍我的工作进展。任何建议都非常感谢。谢谢。
答案 0 :(得分:2)
我去了admin / config / media / file-system并保存了配置。然后到admin / config / development / performance并清除所有缓存。 Voila错误消息消失了。
答案 1 :(得分:0)
在通过多个日志进行单调乏味之后,我发现了这条消息......
File temporary://filewFxsrd could not be copied, because the destination directory public://css is not configured correctly.
...知道我的公共文件路径是sites/my-site/files
,我发现该目录不存在,这导致我找到了这个解决方案......
cd sites/my-site; mkdir files; chmod a+rwx files
...这是我的本地环境,files
目录列在我们的.gitignore
中,所以我不关心它的安全性;虽然,我不清楚如何删除目录。
谢谢大家的建议。