-
Recent Posts
Categories
Meta
Blogroll
Tags
Sponsors
Tag Archives: php
nginx 运行php漏洞临时修补办法
根据80sec安全公告的描述,临时修复方法如下,可3选其一。 1、设置php.ini的cgi.fix_pathinfo为0,重启php。最方便,但修改设置 的影响需要自己评估。 2、给nginx的vhost配置添加如下内容,重启 nginx。vhost较少的情况下也很方便。 if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;} 3、禁止上传目录解释PHP程序。不需要动webserver,如果vhost和服务器较多,短期 内难度急剧上升;建议在vhost和服务器较少的情况下采用。 漏洞描述见:http://www.80sec.com/nginx-securit.html
php5.3全部编译选项
php5.3全部的编译选项,可对照修改你编译时所加的参数。比如网上流行的一些编译参数,有一些就用不到了。 Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: –cache-file=FILE cache test results in FILE –help print this message –no-create do not create output files –quiet, –silent do not print `checking…’ messages –version print the version of … Continue reading
Ubuntu Server 上安装 Nginx 0.8.34[转]
Nginx 在 3 月 3 日放出了 0.8.34 这个开发版。张宴也随即更新了《Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器》到第六版。不过,他写的记录是针对 CentOS、Redhat 等 rpm 包管理的服务器。由于习惯了 debian 系列的服务器,特别是用惯了 ubuntu 服务器,在这里特别做一下 Ubuntu 9.10 下的安装笔记。其他基于 deb 包管理的发行版也类似。 首先,为了编译 Nginx,应在新装好的 Ubuntu server 环境下安装如下软件包: sudo apt-get install build-essential libpcre3-dev libssl-dev libxslt-dev libgd2-xpm-dev libgeoip-dev zlib1g-dev … Continue reading
升级到php5.3要注意的事项
一.php5.3其中的一个新特性是mysqlnd成为php 5.3中的默认mysql驱动 如果你用的PDO连接MYSQL : $pdbo = new PDO("mysql:host=localhost;dbname=test", 'root', '',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); 就会报错:Fatal error: Undefined class constant MYSQL_ATTR_INIT_COMMAND’ 这是因为php5.3.0的一个BUG,不支持PDO::MYSQL_ATTR_INIT_COMMAND! 解决办法有两种
php-fpm中文文档
什么是 FastCGI FastCGI 是一个可伸缩、高速的在web server和脚本语言间通迅的接口。关于FastCGI技术的更多信息可以在官方网站和Wikipedia看到。 FastCGI 被许多脚本语言所支持,包括 php,如果用 –enable-fastcgi 选项编译的话。 多数流行的web server都支持 FastCGI。包括Apache(mod_fastcgi和mod_fcgid),Zeus,nginx和lighttpd。 FastCGI 的主要优点是把动态语言和 web server 分离开来。这种技术允许 web server 和动态语言运行在不同的主机上。这可以改进可扩展性和安全性而没有大的效率损失。 php-fpm 可以和任何支持外部 FastCGI 技术的 web server 一起使用。 php-fpm是做啥用的 很不幸,官方网站 php.net 上的 php 在将 FastCGI SAPI 用于生产环境方面有许多已知的问题。 下面是关于启用 FastCGI SAPI … Continue reading
ubuntu 10.04 nginx+mysql+php+zend 环境搭建
此为备选方案。首选方案出炉后将更新此方案。另,此方案未做完整测试。更改的主要是把spawn-fcgi换成了php-fpm,并且大部分采用源码包来安装 ubuntu桌面版与服务器版搭建过程一样。 首先要选一个好源,用于更新需要安装的一系列包。 推荐使用网易的源。http://mirrors.163.com/.help/ubuntu.html这里有帮助说明。 1、更新 sudo apt-get update 2、安装nginx 运行: sudo apt-get intsall nginx Ubuntu安装之后的文件结构大致为: * 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下 * 程序文件在/usr/sbin/nginx * 日志放在了/var/log/nginx中 * 并已经在/etc/init.d/下创建了启动脚本nginx * 默认的虚拟主机的目录设置在了/var/www/nginx-default 下面可以启动nginx来看看效果(请确保80端口没有其他服务在使用): sudo /etc/init.d/nginx start 然后打开浏览器,查看http://localhost/ 看看是否看到了“Welcome to nginx!” 如果看到了,说明安装成功。当然,基本上,这块儿都不会出问题。 如果运行不成功,可以先 sudo killall apache2 杀掉apache进程 3、安装php
Posted in Linux & FreeBSD, Web Server
Tagged FastCGI, mysql, nginx, php, php-fpm, ubuntu, zend, 服务器
Leave a comment
php注释标准语法
收藏一下php注释的标准语法 /** * @name 名字 * @abstract 申明变量/类/方法 * @access 指明这个变量、类、函数/方法的存取权限 * @author 函数作者的名字和邮箱地址 * @category 组织packages * @copyright 指明版权信息 * @const 指明常量 * @deprecate 指明不推荐或者是废弃的信息 * @example 示例 * @exclude 指明当前的注释将不进行分析,不出现在文挡中 * @final 指明这是一个最终的类、方法、属性,禁止派生、修改。 * @global 指明在此函数中引用的全局变量 * @include … Continue reading
lnmp nginx alias phpmyadmin 的解决方案备忘
我使用的是centos,使用lnmp一键安装,lnmp是一个一键安装nginx,php,mysql的安装包。 为了给域名虚拟上一个phpmyadmin的目录,在网上找了很多资料。不断失败,不断尝试。要么静态文件404,要么php文件404.历经整整一个晚上到半夜,这才成功。 要配置的有两个location段。第一个是规划目录。第二个是处理php文件。 在第二个location中,我试了下,注销此代码也可以 #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 要注意的是,示例中分隔线包围的是为phpmyadmin配置的,这段要放在 location ~ .*\.(php|php5)?$之前 在配置的过程中,有一个非常怪异的现像,就是使用当静态文件和php文件都能执行了以后, 在phpmyadmin登陆的时候居然跳转到了web根目录下。比如访问localhost/phpmyadmin,登陆的时候就跳到了localhost 而我自己随便写的一个php文件,也加了一个form并且提交,就一点事都没有,唯独phpmyadmin会跳到首页去。而且是只有登陆提交的时候才会跳到首页,直接打开不会跳转。 后来尝试各种方案,终于成功了。 还有一个问题,那就是lnmp的虚机脚本生成的代码中,有两段用来控制静态文件,如图片或css的缓存时间。 也就是示例中最后两个location。但是只要这两个打开,phpmyadmin中的静态文件就访问不到了。404了。 案例中: /www/domain.com为网站根目录, /www/logs 为日志目录 /www/phpmyadmin 为phpmyadmin的程序目录
Nginx+PHP(FastCGI) No input file specified 解决
其实本应该是404错误,结果用safari看的时候,输出变成了No input file specified 找了多个方案都不行。最后有一个方案可行。特此记录一下。 在nginx.conf的http段内,加上以下两行即可解决 fastcgi_intercept_errors on; error_page 404 /404.html;
FreeBSD nginx+php+mysql+zend+phpmyadmin+优化 ports安装法
前言 1. 看了张宴的《linux版本的Nginx 0.5.33 + PHP 5.2.5》后,马上找了一台服务器测试了一下,然后加了一个线上的discuz的论坛跑了一下,性能非常的卓越,感叹搜遍整个互联网,就是 nginx+php唯一的一篇文档。对于他的文档,我认为:写的非常专业,对于php extensions库也分析的非常透彻。但是一篇专业的文档,也存在一些专业带来的麻烦,就是起点有点高,假如要更新里面的软件包和定义自己的目录,势必需要一点波折。另外不知道为何,最近网站老是打不开。情急之下,小弟重新写了一篇freebsd下面的傻瓜式安装文档。 2. 又结合了平时的一些经验,顺便把如何防卸ddos,并通过对系统的优化,如何来进一步提高nginx的并发数做 一些详解。 3. 由于个人能力有限,错误的地方,还请读者谅解 一、安装软件前的准备 系统的安装:插入freebsd6.2以上的光盘,最小化安装系统,同时安装好ports 二、手动安装nginx+php 1) 进入系统后,准备cvs更新: 1. cd /usr/ports/net/cvsup-without-gui 2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile 3. # vi /etc/ports-supfile 将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为 *default host=cvsup4.FreeBSDchina.org 4. 更新ports /usr/local/bin/cvsup -g -L 2 … Continue reading