最近移动了服务器并尝试设置所有内容。我的memcache类写日志,这是开发所需要的东西。
编辑:运行Ubuntu 12.04的服务器。
webroot是 的/ var / WWW /的public_html
日志文件位于/ var / www / logs /
中以下是目录权限
-rw-r--r-- 1 root root 1415 Sep 6 11:53 default
drwxrwxr-x 2 root webmasters 4096 Sep 6 12:48 logs
drwxrwxr-x 8 root webmasters 4096 Sep 6 12:32 public_html
以下是/ var / www / logs
的权限-rw-rw-r-- 1 root webmasters 116103 Sep 6 13:02 access.log
-rw-rw-r-- 1 root webmasters 16094 Sep 6 12:48 error.log
-rw-rw-r-- 1 root webmasters 0 Sep 6 12:48 memcache.log
-rw-rw-r-- 1 root webmasters 9861 Sep 6 13:02 php_log.log
浏览器的文件是/var/www/public_html/index.php
-rw-rw-r-- 1 root webmasters 5660 Sep 6 01:51 /var/www/public_html/index.php
索引包括/var/www/public_html/includes/cache.php
-rw-rw-r-- 1 root webmasters 4602 Sep 6 12:47 /var/www/public_html/includes/cache.php
小组成员:
grep 'webmasters' /etc/group
webmasters:x:1002:sftp_chris,www-data
我甚至尝试将/ logs和/memcache.log更改为chmod 777。
不太明白为什么会这样,因为你可以看到php正在将其日志文件写入/logs/php.log而没有问题。
有什么想法吗?我非常困惑。
我想也许它与php-suhosin有关但在那里找不到任何东西。
功能:
function write_to_log($string){
$file = '/var/www/memcache.log';
$fh = fopen($file, 'a');
$contents = @fread($fh, filesize($file));
$stringData = $contents."[".date('H.i:s d-m-y')."] ".$string;
fwrite($fh, $stringData);
fclose($fh);
}
答案 0 :(得分:3)
您写信给/var/www/memcache.log
,而不是/var/www/logs/memcache.log
,您显示了权限。
(为什么在写入之前阅读日志?)