Php Drupal模块安装错误-文件传输失败,原因:/mysite.com/sites/all/modules在/mysite.com之外
我已经在我的开发和测试服务器上安装了Windows 2012 R2(IIS 8.5)上的Drupal。它们是干净的/开箱即用的安装。我的开发环境工作正常,但我无法在测试环境中安装模块。我仔细检查了这些装置,试图找出它们的不同之处,但我一直把头撞在墙上,它们看起来一模一样。显然不是 问题 安装模块时,出现以下错误: 安装失败!有关更多信息,请参阅下面的日志 模块滤波器 •安装/更新错误 •文件传输失败,原因:/mysite.com/sites/all/modules在/mysite.com之外 (注意,这来自Authorize.php) 对我的公共下载文件夹的权限似乎很好——模块上传和提取都很好 我的公共文件系统路径设置为“sites/default/files”,临时目录设置为“sites/default/files/tmp” 我不明白为什么它认为modules文件夹在我的根站点之外 我被难住了。任何帮助都将不胜感激 谢谢 汤姆·亨德利解决方案 事实证明,这是在IIS上运行的Drupal中的一个bug。filetransfer.inc的检查路径方法。区分大小写,因此根据您在IIS中设置站点的方式,它可能工作,也可能不工作!这解释了为什么在我的开发环境中工作而不是在测试环境中工作 编辑includes/filetransfer/filetransfer.inc中的checkPath方法,并添加以下代码:Php Drupal模块安装错误-文件传输失败,原因:/mysite.com/sites/all/modules在/mysite.com之外,php,.htaccess,drupal,drupal-7,Php,.htaccess,Drupal,Drupal 7,我已经在我的开发和测试服务器上安装了Windows 2012 R2(IIS 8.5)上的Drupal。它们是干净的/开箱即用的安装。我的开发环境工作正常,但我无法在测试环境中安装模块。我仔细检查了这些装置,试图找出它们的不同之处,但我一直把头撞在墙上,它们看起来一模一样。显然不是 问题 安装模块时,出现以下错误: 安装失败!有关更多信息,请参阅下面的日志 模块滤波器 •安装/更新错误 •文件传输失败,原因:/mysite.com/sites/all/modules在/mysite.com之外 (
$full_path = strtolower($full_path);
$full_jail = strtolower($full_jail);
在路径比较之前:
if ($full_jail !== $full_path) { ... }
修正
工具书类
非常感谢“sevenares”在此处发布此问题的解决方案:
我希望这对某人有帮助
快乐编码,
汤姆亨德利