使用fopen在PHP中创建文件的权限被拒绝


Using fopen to create a file in PHP has permission denied

我想动态创建一个文件,并向其中写入一些JSON。我有JSON,这很好。但是当我尝试创建文件时出现了问题。这看起来可能是权限或文件所有者的问题,但我不确定如何解决

$strFile = PUBLIC_PATH . '/javascript/members.json';
if (!file_exists($strFile)) {
    chmod(PUBLIC_PATH . '/javascript', 0755);  // operation not permitted error
    fopen($strFile, 'w');
    chmod($strFile, 0755);
    chown($strFile, 'www');
}
file_put_contents($strFile, $arrMembers);

我觉得我错过了一些非常明显的东西。

检查运行PHP的用户是否对文件路径的每个目录都有"X"权限。它需要它来访问文件

如果您的文件是:/path/to/test-in.txt你应该有X权限:

/path
/path/to

在/path/to/test-in.txt或通过CPanel/ftp上的读取权限提供对文件的写入权限