dokuwiki docsearch插件有奇怪的行为

时间:2014-02-26 13:46:13

标签: php search cron file-permissions dokuwiki

关于我的问题的最接近的帖子就是这个https://forum.dokuwiki.org/thread/7349

虽然看起来该线程的解决方案已经合并到当前版本的docseach中,但我仍然有这个问题。我的设置是Ubuntu 12.04,库存Apache2和php5; safe_mode已关闭。我也检查了权限。一切都很好。

我正在尝试脚本:

su www-data
php cron.php

我的结果非常不一致。在最后一次试验之前,在页面目录中提取了txt文件,但在我的上一次试验中没有任何内容。

非常感谢!

更新

我从命令行再次运行此脚本,作为www-data用户。这是一个输出

$ php5 cron.php
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/w26.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/i20.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/w20.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123

PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/i11.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/metadata.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/i18.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/w1.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/w30.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/i22.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/i16.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/index/pageword.idx): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123

PHP Warning:  rmdir(/home/www-data/www/hj/./data/docsearch/pages): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 140
PHP Warning:  rmdir(/home/www-data/www/hj/./data/docsearch/locks): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 140
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/cache/0/0946805efd851f13ce467298dd1151b4.metadata): Permission denied in /home/www-data/www/hj/lib/plugins/docsearch/cron.php on line 123
PHP Warning:  unlink(/home/www-data/www/hj/./data/docsearch/cache/0/0946805

因此,我得到了四个文件夹,只有页面文件夹包含从doc和pdf中提取的txt文件。索引文件夹为空。

奇怪的是,所有四个服务文件夹都成为root用户和root用户组。看来,虽然我将php cron.php作为www-data用户运行,但某个root用户会干扰。实际上,每plugin页面我需要设置一个cron作业,我也是这样做的。

下次再次,当我运行php cron.php时, - 什么都没有,甚至不是文件夹。

1 个答案:

答案 0 :(得分:0)

可能主要问题是我使用crontab -e作为根。因此,当cron作业运行时,它会将插件目录呈现给www-data用户(Web服务器用户)不可写。

但是通过将cron作业添加为www-data用户来消除问题: crontab -u www-data -e