我有一个 PHP 脚本(在 中/var/www
),它应该将操作日志写入文件deploy.log
(也在 中/var/www
)并对位于系统其他目录(如/home/<user>/repo/my-repo.git
和/srv/pr
)中的文件执行操作。但是,它目前没有这样做。当我将日志文件的权限更改为 时777
,PHP 能够将其写入该文件。出于显而易见的原因,我无法将权限保持在 777。
我读到过,您希望操作的文件应具有与运行 PHP 文件的用户相同的权限。那么我如何找出 PHP 在哪个用户下运行?如果这不是正确的方法,如何解决这个问题?
我在 Amazon EC2 上使用 Ubuntu 14.x。
我也尝试设置sudo chown -R ubuntu:ubuntu /var/www
整个www
文件夹,但我的 PHP 脚本仍然无法写入日志文件。
答案1
运行 apache/php 的用户是www-data
。
运行sudo chown -R www-data:www-data /var/www/deploy.log
以使文件可由 Web 服务器编辑。
您要对其执行操作的其他文件也需要可由 Web 服务器写入。