php fopen ftp_更改所有者/组-有时-为什么?
在我的php主机上,我有一个由cron作业运行的脚本,该作业打开/覆盖远程ftp服务器上的文件。它在大多数情况下都能工作,但我发现,当它最初创建文件时,所有者/组是“736/736”,但在某些时候,所有者和组会更改为“99/99”。问题是我开始遇到权限问题-以下是代码:php fopen ftp_更改所有者/组-有时-为什么?,php,permissions,ftp,fopen,Php,Permissions,Ftp,Fopen,在我的php主机上,我有一个由cron作业运行的脚本,该作业打开/覆盖远程ftp服务器上的文件。它在大多数情况下都能工作,但我发现,当它最初创建文件时,所有者/组是“736/736”,但在某些时候,所有者和组会更改为“99/99”。问题是我开始遇到权限问题-以下是代码: $local = fopen("/mypath/myfile.txt","w"); $result = ftp_fget($conn_id, $local,"remotepath/remotefile.txt", FTP_BIN
$local = fopen("/mypath/myfile.txt","w");
$result = ftp_fget($conn_id, $local,"remotepath/remotefile.txt", FTP_BINARY);
fclose($local);
我使用相同的代码来提取一堆文件。
并非所有文件都会发生这种情况。除了“读取”类型的fopen(“r”)之外,此原始文件再也不会被触摸
我不认为是ftp_fget,因为我有一个不同的脚本,也是由cron运行的,它通过fopen“w”创建文本文件,其中一些文件也是所有者“99/99”
有什么想法吗?这可能是isp方面的配置问题吗?如果是,我该怎么告诉他们?当我告诉他们我的所有者/组出错时,他们完全重置了我的整个ftp目录-权限、所有者等,这是一件痛苦的事。组UID 99和所有者UID 99是
无人
或apache
。这对于文件系统创建的所有文件夹都是相同的。因此,当cron作业运行时,文件归apache所有
解决方案:
哪些用户是736和99(在/etc/passwd中查找)?在fopen()和ftp_fget()之间的“某个时刻”是什么意思?Cron脚本作为什么用户运行?如果您通过Apache运行相同的脚本,这可以解释两个用户——一个用于Cron,另一个用于Apache。我的意思是,这似乎不是立即发生的,或者,例如,我有十几个文件目前还可以(736)。我认为如果出现问题,它应该将所有文件创建为“99/99”(nobody/apache)。我不确定cron用户-这是一个托管提供商,因此我无法访问所有内容。