P粉3767388752023-08-28 09:42:11
第 1 步:确定 PHP 用户
创建一个包含以下内容的 PHP 文件:
<?php echo `whoami`; ?>
将其上传到您的网络服务器。输出应类似于以下内容:
www-data
因此,PHP 用户是 www-data
。
第 2 步:确定目录所有者
接下来,通过命令行检查Web目录的详细信息:
ls -dl /var/www/example.com/public_html/example-folder
结果应类似于以下内容:
drwxrwxr-x 2 exampleuser1 exampleuser2 4096 Mar 29 16:34 example-folder
因此,该目录的所有者是 exampleuser1
。
第 3 步:将目录所有者更改为 PHP 用户
然后,将Web目录的所有者更改为PHP用户:
sudo chown -R www-data /var/www/example.com/public_html/example-folder
验证 Web 目录的所有者是否已更改:
ls -dl /var/www/example.com/public_html/example-folder
结果应类似于以下内容:
drwxrwxr-x 2 www-data exampleuser2 4096 Mar 29 16:34 example-folder
至此,example-folder
的所有者已成功更改为 PHP 用户:www-data
。
完成! PHP 现在应该能够写入该目录。
P粉3524080382023-08-28 09:07:16
一个简单的方法是让 PHP 首先创建目录本身。
<?php $dir = 'myDir'; // create new directory with 744 permissions if it does not exist yet // owner will be the user/group the PHP script is run under if ( !file_exists($dir) ) { mkdir ($dir, 0744); } file_put_contents ($dir.'/test.txt', 'Hello File');
这可以为您省去权限方面的麻烦。