Apache正在记录对';rm';使用PHP';行政长官()
为了在编辑页面时清除页面的缓存版本,我们用PHP编写的CMS使用exec()清除所有相关的缓存文件。这些文件的命名始终包括字符串“_lid45”,例如,“45”是该页面的唯一标识符 exec字符串将类似于Apache正在记录对';rm';使用PHP';行政长官(),php,apache2,error-log,Php,Apache2,Error Log,为了在编辑页面时清除页面的缓存版本,我们用PHP编写的CMS使用exec()清除所有相关的缓存文件。这些文件的命名始终包括字符串“_lid45”,例如,“45”是该页面的唯一标识符 exec字符串将类似于 rm ../cache/*_lid45[._]* 只要存在这样的文件,它就可以完美地工作。如果没有,那么用户就不会出错,但是Apache错误日志会显示一行 rm: cannot remove `../cache/*_lid45[._]*': No such file or directory
rm ../cache/*_lid45[._]*
只要存在这样的文件,它就可以完美地工作。如果没有,那么用户就不会出错,但是Apache错误日志会显示一行
rm: cannot remove `../cache/*_lid45[._]*': No such file or directory
我知道这不是最糟糕的事情!但是,如果可以的话,我想尝试删除这些消息,而不向原始脚本添加任何负载。例如,我考虑先使用“ls”来查看是否存在此类文件,然后仅在存在此类文件时删除它们,但由于缓存的大小有时可能相当大,“ls”有时会减慢速度,对整个服务器的性能产生显著影响
有什么想法吗?只需将
rm
的输出发送到/dev/null
:
exec("rm ../cache/*_lid45['_]* > /dev/null 2>&1");
它将抑制所有输出,这将抑制错误
如果您对输出重定向知之甚少,您可能会发现值得一读