Symfony 文件系统 chmod() 设置了不正确的权限

问题描述

我正在使用 Symfony 的文件系统组件,特别是 function MyGetSpecialName(ShortCut: TShortCut): string; var ScanCode: Integer; KeyName: array[0..255] of Char; begin Result := ''; ScanCode := Winapi.Windows.MapVirtualKey(LoByte(Word(ShortCut)),0) shl 16; if ScanCode <> 0 then begin if Winapi.Windows.GetKeyNameText(ScanCode,KeyName,Length(KeyName)) <> 0 then Result := KeyName; end; end; var s: System.Classes.TShortCut; s := ShortCut(VK_NUMPAD0,[]); CodeSite.Send('ShortCutToText',MyGetSpecialName(s)); 函数

chmod

但是在终端上的权限很奇怪:

$this->filesystem->copy($file_path,$target_file,TRUE);
$this->filesystem->chmod($target_file,'0777');

它应该是这样的:

$ ls -la 1.mp4
-r----x--t 1 user user 3557378 mar 10 07:55 1.mp4

我做错了吗?我使用的是 5.2.4 版本。

解决方法

public function chmod($files,int $mode,int $umask = 0000,bool $recursive = false)

函数的第二个参数是数字,你传递的是一个字符串。并检查您是否拥有正确的文件所有者,通常是使用 www-data 用户

的网络服务器