0

我在 /var/www/index.php 中有这段代码:

<html>
<head>
<title>Chipperyman573</title>
<link rel="shortcut icon" href="/fav.ico" />
</head>
<body>
I honestly don't know what you expected.
</body>
</html>

<?php
//get visitors ip address
$ipaddress = $REMOTE_ADDR;
//get visit date
$vdate = date("m-d-y");
//UserAgent
$agent = getenv("HTTP_USER_AGENT");
//Set whole string
$str = $ipaddress.." visited on "..$vdate.." using user agent "..$agent..".";
//Set log name
$fi = "/logs/mainLog.txt";
file_put_contents($fi, $str);
?>

我在 /logs 中创建了一个名为 mainLog.txt 的文本文件,但是chipperyman573.com在我的浏览器中访问后,那里什么也没有出现。所有文件(/index.php、/logs 和 /logs/mainLog.txt 都有 777 个文件权限)。

为什么,我该如何解决这个问题?

4

3 回答 3

1

你的问题可能在这里

$fi = "/logs/mainLog.txt";

在 Linux 中,/是服务器的根。因此,它正在根目录中查找您的日志文件(您可能没有访问权限)。相反,请尝试使您的路径相对于您的文件,或包含完整的正确路径

$fi = "./logs/mainLog.txt";
于 2013-11-07T01:38:48.790 回答
0

当您在基于 linux/UNIX 的环境中工作时,文件路径开头的 / 会告诉计算机从根目录开始。取出 / ,它应该可以工作。

于 2013-11-07T01:54:03.793 回答
0

尝试改变

$fi = "/logs/mainLog.txt";

$fi = $_SERVER['DOCUMENT_ROOT']."/logs/mainLog.txt";
于 2013-11-07T01:39:52.323 回答