php正则过滤

$str=preg_replace("/s+/", " ", $str); //过滤多余回车
$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)
$str=preg_replace("/<!–.*?–>/si","",$str); //注释
$str=preg_replace("/<(!.*?)>/si","",$str); //过滤DOCTYPE
$str=preg_replace("/<(/?html.*?)>/si","",$str); //过滤html标签
$str=preg_replace("/<(/?head.*?)>/si","",$str); //过滤head标签
$str=preg_replace("/<(/?meta.*?)>/si","",$str); //过滤meta标签
$str=preg_replace("/<(/?body.*?)>/si","",$str); //过滤body标签
$str=preg_replace("/<(/?link.*?)>/si","",$str); //过滤link标签
$str=preg_replace("/<(/?form.*?)>/si","",$str); //过滤form标签
$str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
$str=preg_replace("/<(applet.*?)>(.*?)<(/applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(/?applet.*?)>/si","",$str); //过滤applet标签
$str=preg_replace("/<(style.*?)>(.*?)<(/style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(/?style.*?)>/si","",$str); //过滤style标签
$str=preg_replace("/<(title.*?)>(.*?)<(/title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(/?title.*?)>/si","",$str); //过滤title标签
$str=preg_replace("/<(object.*?)>(.*?)<(/object.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(/?objec.*?)>/si","",$str); //过滤object标签
$str=preg_replace("/<(noframes.*?)>(.*?)<(/noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(/?noframes.*?)>/si","",$str); //过滤noframes标签
$str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(/?i?frame.*?)>/si","",$str); //过滤frame标签
$str=preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/<(/?script.*?)>/si","",$str); //过滤script标签
$str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签
$str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签
$str=preg_replace("/on([a-z]+)s*=/si","On1=",$str); //过滤script标签
$str=preg_replace("/&#/si","&#",$str); //过滤script标签

PHP 删除文本文件的任意一行或添加一行

<?php
$filename="aaa.txt";//定义操作文件
$delline=3; //要删除的行数
$farray=file($filename);//读取文件数据到数组中
for($i=0;$i<count($farray);$i++)
{
if(strcmp($i+1,$delline)==0) //判断删除的行,strcmp是比较两个数大小的函数
{
continue;
}
if(trim($farray[$i])<>"") //删除文件中的所有空行
{
$newfp.=$farray[$i]; //重新整理后的数据
}
}
$fp=@fopen($filename,"w");//以写的方式打开文件
@fputs($fp,$newfp);
@fclose($fp);
?>

添加一行数据到最后一行

<?php
$filename="aaa.txt";//定义操作文件
$fcontent = file($filename); //file()把整个文件读入一个数组中
$fp = fopen("$filename","a");
$str = "10.8.0.9:255.255.255.0n";
fwrite($fp, $str);
?>

使用Apache作为Nginx的PHP处理后台

Nginx本身不自带PHP处理模块,因此需要配置反向代理,将php请求交给其他的PHP解析器执行,然后返回结果给Nginx。
目前流行的方式是使用fast-cgi的方式配置PHP处理服务。其优点是比较简洁,服务器负载轻。但是缺点也是很明显的:无法查看php处理状态。
比如有时候网站因为负荷过高,php处理线程已经全部阻塞,就会造成网站无法再响应php服务。使用fastcgi方式,无法查看是哪些脚本处理时间过长,阻塞了php处理线程。
而Apache的有点就在于,可以很好的查看哪些php脚本处理时间过长,阻塞了有效进程数。

下面的方式是使用Apache最为Nginx的php处理后台:

1,先安装apache

apt-get install apache

并配置好apache正确运行在8001端口。

2,修改nginx的虚拟主机配置,其他php脚本交由apache解析

location ~ .php$ {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 30;

client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

重启nginx和apache就好了。

注意,如果要查看php的处理状态,安装使用apache的监控模块就可以了。

LNMP相关目录和命令

安装:

wget -c http://soft.vpser.net/lnmp/lnmp0.9-full.tar.gz
tar zxvf lnmp0.9-full.tar.gz
cd lnmp0.9-full/

确认Linux发行版:

cat /etc/issue

CentOS系统下的安装

./centos.sh 2>&1 | tee lnmp.log

Debian系统下的安装

./debian.sh 2>&1 | tee lnmp.log

Ubuntu系统下的安装

./ubuntu.sh 2>&1 | tee lnmp.log

添加虚拟主机

/root/vhost.sh

删除虚拟主机

rm /usr/local/nginx/conf/vhost/xiaokyun.com.conf

安装组件
安装PureFTPd和FTP管理面板:

./pureftpd.sh

安装eAccelerator:

./eaccelerator.sh

安装ionCube:

./ionCube.sh

安装imageMagick:

./imageMagick.sh

安装memcached:

./memcached.sh

升级
升级Nginx:

./upgrade_nginx.sh

升级PHP版本:

./upgrade_php.sh

状态管理
LNMP状态管理:

/root/lnmp {start|stop|reload|restart|kill|status}

Nginx状态管理:

/etc/init.d/nginx {start|stop|reload|restart}

PHP-FPM状态管理:

/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}

PureFTPd状态管理:

/etc/init.d/pureftpd {start|stop|restart|kill|status}

MySQL状态管理:

/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}

Memcached状态管理:

/etc/init.d/memcached {start|stop|restart}

相关图形界面程序

phpinfo : http://www.xiaokyun.com/phpinfo.php
phpMyAdmin : http://www.xiaokyun.com/phpmyadmin/
探针 : http://www.xiaokyun.com/p.php
PureFTP管理界面:http://www.xiaokyun.com/ftp/
Memcached测试页面:http://www.xiaokyun.com/memcached.php

LNMP相关目录

nginx : /usr/local/nginx
mysql : /usr/local/mysql
php : /usr/local/php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/

LNMP相关配置文件

Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf

原文:http://lnmp.org/install.html