用PHP代码给Apache配置文件瘦身
Posted 编程之夜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PHP代码给Apache配置文件瘦身相关的知识,希望对你有一定的参考价值。
默认的Apache2.4.33配置文件httpd.conf,注释占据了大量空间,对于老司机谁还在注释堆里找关键代码也很酸爽,先删干净再按需加回来吧。编辑器应该也有这个功能,可惜我一直没用过,那就用php处理,也很方便。
在文本编辑器notepad++设置,视图->显示所有符号,绿色标注注释区。这样可以清楚看见CR(回车\r)、 LF(换行\n)字符、每一个字符都显示出来,漫山遍野的黑色 CRLF 回车换行大军。
怎样挑选出默认配置未注释的代码呢?
很容易发现注释都是以#开头,并且没有单独的#混在其中。对于每一行,如果有#号说明是注释跳过,如果没有则记录下内容。
$filePath = './file/httpd_en.conf';
$content= '';
$reader = fopen($filePath, "r");
while(!feof($reader)){//判断不是文件结尾
$row = fgets($reader);//读取每一行,指针移动到下一行
if(!strstr($row,'#')){//大小写敏感
$content .= $row;
}else{
continue;
}
}//while
fclose($reader);
这样出现一个问题,只有CRLF的也单独占据一行,显得不够紧凑。
所以加入一个判断是否只有"CRLF",如果是同样跳过。
while(!feof($reader)){//判断不是文件结尾
$row = fgets($reader);//读取每一行,指针移动到下一行
if(!strstr($row,'#')){//大小写敏感
if($row =="\r\n"){//只有回车换行
continue;
}
$content .= $row;
}else{
continue;
}
}//while
读取处理的部分完成,再加上文件生成:
$writer = fopen("httpd.conf", "wb");
fwrite($writer, $content);
fclose($writer);
php.ini也可以。实际上做这个,是在探索PHP自动化配置Apache、PHP。可能涉及先有鸡还是先有蛋的问题,手工优化配置后,实际上也只需要修改一下目录就可以跑WAMP了。有兴趣的学友可以在下面的链接中深入了解。
- END -
相关阅读:
以上是关于用PHP代码给Apache配置文件瘦身的主要内容,如果未能解决你的问题,请参考以下文章
我安装了apache,mysql,phpadmin,smarty还有php5.2.5配置也配好了,可我还是不知道用啥编写php文件。。。