在GUI上使用“更新管理器”时遇到一些问题。某些目录被锁定php-cgi.exe
,因此用新下载的目录(较新的目录)替换原始目录不成功。
但我不得不提的是它不是一个权限问题,因为该模块可以通过获取安装“从URL安装”上/admin/modules/install
,和工作没有问题。
让我们举个例子:
可用的更新页面(
/admin/reports/updates/update
):现在,我选择要更新的Select(或其他)模块(选择哪个模块都没有关系,结果相同!!!这只是一个示例)。
我点击“下载这些更新”按钮。
- 好的,下载模块的更新实例不会出现问题:
“ 更新已成功下载 ”: - 现在,单击“ 继续”。
- 错误来了。结果:
“ 更新失败!有关更多信息,请参见下面的日志
。select_or_other- 安装/更新时出错
- 文件传输失败,原因:无法复制
D:/Projects/web/drupal-7/tmp/update-extraction-6d8993ac/select_or_other/LICENSE.txt
到/Projects/web/drupal-7/htdocs/sites/all/modules/select_or_other/LICENSE.txt
。”
- 好的,我开始尝试检查可能的原因。
- 下面是我的Drupal目录结构如下:。我设置
../tmp
为临时目录(位于中/admin/config/media/file-system
),Drupal文件位于中htdocs
。这是正确的,因为如上所述,我可以通过GUI安装模块。 - 当我尝试进入
htdocs/sites/all/modules/select_or_other
目录时,不能,因为我收到“文件上的访问被拒绝......sites/all/modules/select_or_other
!”。在Total Commander中打开时,而“...sites/all/modules/select_or_other
不能访问,访问被拒绝。”当打开Windows资源管理器: , - 好的,我右键单击该文件夹,然后通过快捷菜单中的助手打开Unlocker。它说该目录是通过
php-cgi.exe
以下方式锁定的: 我单击“全部解锁”,该文件夹现在可以被删除(因为不再通过它锁定php-cgi.exe
),因此它只是 - 我可以在找到更新的select_or_other模块的目录
tmp
: - 所以我必须手动将其移至
sites/all/modules
目录。
- 下面是我的Drupal目录结构如下:。我设置
锁定目录的可能原因是php-cgi.exe
什么?(可能的Windows缓存扩展1.1 PHP 5.3通过Web平台安装程序安装?但是,如果是的,这是什么原因,例如图像的缺失或类似的通过GUI正常工作?)
我能做些什么来避免这个问题,并让“更新经理”的工作?
drush up -y
,我遇到了相同的问题:我必须使用Unlocker来解锁这些文件和目录才能使其正常工作,否则我将收到错误消息,指出这些无法写入/删除目录,并且更新过程会中断。如果在运行此过程之前使用Unlocker,则更新成功。