据我所见,用户拥有创建文件所需的所有-6ren">
gpt4 book ai didi

php - file_put_contents 在服务器上不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:54 24 4
gpt4 key购买 nike

这个简单的代码创建一个文件,当页面刷新但它不工作时。

<?php
$fileName="test1.html";
$content="<h1>header</h1>";
file_put_contents($fileName,$content);
?>

据我所见,用户拥有创建文件所需的所有权限

lrwxrwxrwx. 1 admin1 root         13 Jul 10 22:35 html -> /var/www/html

关于什么可能阻止创建文件的任何想法?

最佳答案

您的 html 是指向 /var/www/html 的符号链接(symbolic link):

ls -ldZ /var/www/html
drwxr-xr-x. 2 admin1 brahim system_u:object_r:httpd_sys_content_t:s0 274 Jul 24 17:36 /var/www/html

您不需要该符号链接(symbolic link)的写权限,但需要符号链接(symbolic link)目标的写权限。

此外,这与是否拥有权限无关,而是与运行apache 网络服务器(通常是www-dataapache 在 Fedora 上)需要这些权限。

同时授予所有用户写入您的 web 目录的权限不是一个好主意,所以让我们试试这个:

  1. /var/www/html 中创建一个名为 data 的子目录:

    mkdir /var/www/html/data
  2. apache 用户授予可写权限:

    chown apache:root /var/www/html/data
    chmod 700 /var/www/html/data
  3. 修改您的脚本以写入此目录:

    $fileName="data/test1.html";

关于php - file_put_contents 在服务器上不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38554370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com