PHP chmod() 在服务器上不起作用

Far*_*san 6 php unix linux apache centos

我彻底搜索了 stackoverflow 和其他在线资源,但没有任何效果。

基本上,我想将新内容写入服务器上的文件中。我正在使用以下代码来测试它。

代码:

error_reporting(E_ALL);
ini_set('display_errors',1);

$my_file = 'test_file.php';

$permission = chmod($my_file, 0775);
echo "Permission";
var_dump($permission);exit;
Run Code Online (Sandbox Code Playgroud)

chmod()它总是返回 false 并显示不允许的警告。

我不想为此使用 ftp 解决方案。那么,请告诉我不起作用的原因是什么chmod()以及是否有其他替代方法可以实现此目的?

dev*_*ius 5

原因是 Web 服务器用户(www-data在大多数 Linux 版本上)无权更改文件的权限test_file.php

要解决此问题,您只需运行chmod 644 www-data:www-data test_file.php(替换www-data为您的 Web 服务器用户),您现在应该能够使用 PHP 的chmod().