我正在尝试使用在ubuntu上运行nginx + php的libfaketime设置伪造服务器时间,但没有运气。
以下是我所做的:
1)安装了faketime:
$ wget http://www.code-wizards.com/projects/libfaketime/libfaketime-0.9.6.tar.gz
$ tar -xvzf libfaketime-0.9.6.tar.gz
$ cd libfaketime-0.9.6
$ make
$ sudo make install
$ echo "@2012-12-21 12:12:12" > /etc/faketimerc
2)将以下内容添加到我的nginx.conf中:
env LD_PRELOAD="/usr/local/lib/faketime/libfaketime.so.1";
3)重新启动nginx和php。
当我手动导出LD_PRELOAD然后尝试日期时,它可以正常工作,但当我执行 curl localhost
或访问网站时,它获取的实际服务器日期不是来自/ etc /的日期faketimerc
我也尝试过设置LD_PRELOAD:
非常感谢任何想法。
答案 0 :(得分:0)
尝试为nginx设置LD_PRELOAD(由root设置),而不是为用户的shell设置:
LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 /path/to/nginx
答案 1 :(得分:0)
尝试创建一个txt文件(例如:faketime.txt)并在其中提供您想要的时间
例如:source=.template
for i in * ; do
cp "$source/File1.bash" "$i"
cp "$source/File2.sh" "$i"
cp "$source/File3.R" "$i"
cp "$source/File4.R" "$i"
done
然后将以下命令放在.config文件中
2015-06-27 18:30:00