php-fpm

nginx配置详解

天大地大妈咪最大 提交于 2019-12-04 18:55:53
一、配置访问xxx.php文件的支持   此时的nginx程序是一个服务器端的代理服务器,nginx接收到客户端xxx.php文件的请求,将这个请求交给本机9000端口的php-fpm程序处理,php-fpm程序以html格式将   处理结果返回个nginx   location ~ \.php$ {    root html;          #站点根目录    fastcgi_pass 127.0.0.1:9000;  #cgi程序的端口   fastcgi_index index.php;    #主页文件名   include fastcgi.conf;      #引入配置文件 } 二、日志设置    来源: https://www.cnblogs.com/fanshehu/p/11878721.html

docker php-fpm 拓展安装

為{幸葍}努か 提交于 2019-12-04 16:57:27
1. PHP 源码 为了保证 Docker 镜像尽量小,PHP 的源文件是以压缩包的形式存在镜像中,官方提供了 docker-php-source 快捷脚本,用于对源文件压缩包的解压(extract)及解压后的文件进行删除(delete)的操作。 示例: FROM php:7.1-apache RUN docker-php-source extract \ # 此处开始执行你需要的操作 \ && docker-php-source delete 注意:一定要记得删除,否则解压出来的文件会大大增加镜像的文件大小。 2. 安装扩展 2.1. 核心扩展 这里主要用到的是官方提供的 docker-php-ext-configure 和 docker-php-ext-install 快捷脚本,如下 FROM php:7.1-fpm RUN apt-get update \ # 相关依赖必须手动安装 && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng-dev \ # 安装扩展 && docker-php-ext-install -j$(nproc) iconv mcrypt \ # 如果安装的扩展需要自定义配置时 && docker-php-ext-configure

在Linux中将php-fpm配置成服务的方法

和自甴很熟 提交于 2019-12-04 15:27:30
在Linux中将php-fpm配置成服务的方法 2012-07-20 by Jason 1.配置php-fpm.conf <pre> vi /usr/local/php/etc/php-fpm.conf </pre> php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid 2.拷贝php-fpm脚本至/etc/init.d目录 <pre> cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm </pre> 3.设置权限并启动php-fpm: <pre> chmod 755 /etc/init.d/php-fpm /etc/init.d/php-fpm start chkconfig –add php-fpm </pre> 最后,给出php-fpm以服务的方式启动、停止和重启: <pre> service php-fpm start service php-fpm stop service php-fpm reload </pre> 来源: https://www.cnblogs.com/newmiracle/p/11871488.html

php-fpm(绕过open_basedir,结合ssrf)

▼魔方 西西 提交于 2019-12-04 15:03:27
环境的安装-> https://www.cnblogs.com/zaqzzz/p/11870489.html 1.nginx的畸形访问 因为安装的是php7.0,所以需要手动修改一下:(版本低的时候没有这种防护措施) fpm里面的security.limit_extensions默认只执行.php的文件 vi /etc/php/7.0/fpm/pool.d/www.conf 把php-fpm.conf文件里面的security.limit_extensions前边的分号去掉,把值设置为空,这样就可以执行任意的文件了,也可以试试把fpm关掉。 cgi.fix_pathinfo 这个参数为1的时候,访问: ip:/*.*/.php 例如 ip/1.jpg/.php ,这里1.jpg的内容是<?php phpinfo();?> 因为 1.jpg/.php (把他看成一个整体)不存在,但是cgi.fix_pathinfo的原因,去掉/后边的参数,可以找到1.jpg,就会把jpg当作php执行。 执行图: 2. fpm未授权访问 原因:fpm的9000端口暴露在公网上,其实默认文件是只有本地才可以访问的。 vi /etc/php/7.0/fpm/pool.d/www.conf 如果你配置成这样的话: 我们现在把他配置成全ip访问后,就可以复现了。 复现脚本 https://gist

PHP FastCGI进程管理器PHP-FPM的架构

我们两清 提交于 2019-12-04 15:01:04
一个master进程,支持多个pool,每个pool由master进程监听不同的端口,pool中有多个worker进程. 每个worker进程都内置PHP解释器,并且进程常驻后台,支持prefork动态增加. 每个worker进程支持在运行时编译脚本并在内存中缓存生成的opcode来提升性能. 每个worker进程支持配置响应指定请求数后自动重启,master进程会重启挂掉的worker进程. 每个worker进程能保持一个到MySQL/Memcached/Redis的持久连接,实现"连接池",避免重复建立连接,对程序透明. 使用数据库持久连接时应该设置固定数量的worker进程数,不要使用动态的prefork模式. 经 @syaokun219 和 @IM鑫爷 纠正,以下两句有误: master进程采用epoll模型异步接收和分发请求,listen监听端口,epoll_wait等待连接. 然后分发给对应pool里的worker进程,worker进程accept请求后poll处理连接. 应该是: master进程并不接收和分发请求,而是worker进程直接accept请求后poll处理. master进程不断调用epoll_wait和getsockopt是用来异步处理信号事件和定时器事件. 这里提一下,Nginx也类似,master进程并不处理请求,而是worker进程直接处理,

Nginx+Php-fpm运行原理详解

社会主义新天地 提交于 2019-12-04 09:55:42
一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com。 vpn对于“我们”来说,是可以感知到的(我们连接vpn) vpn对于"google服务器"来说,是不可感知的(google只知道有http请求过来)。 对于人来说可以感知到,但服务器感知不到的服务器,我们叫他正向代理服务器。 2、反向代理:通过反向代理实现负载均衡 如上图,我们访问baidu.com的时候,baidu有一个代理服务器,通过这个代理服务器,可以做负载均衡,路由到不同的server。 此代理服务器,对于“我们”来说是不可感知的(我们只能感知到访问的是百度的服务器,不知道中间还有代理服务器来做负载均衡)。 此代理服务器,对于"server1 server2 server3"是可感知的(代理服务器负载均衡路由到不同的server) 对于人来说不可感知,但对于服务器来说是可以感知的,我们叫他反向代理服务器 总结 说白了:“正向”、“反向”是相对于人的感知来说的。 人能感受到的代理就是正向代理,人感受不到的代理就是反向代理。 二、初识Nginx与Php-fpm Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Php-fpm是什么

centos7编译安装php7

别说谁变了你拦得住时间么 提交于 2019-12-04 08:39:21
安装依赖 [root@localhost ~]# yum -y install gcc gcc++ gcc-c++ wget make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf libmcrypt libmcrypt-devel mhash mhash-devel mcrypt re2c 创建目录,现在php7.1.6 mkdir -p /usr/src/php7.1.6 cd /usr/src/php7.1.6 wget -c https://github.com/php/php-src/archive/php-7.1.6.tar.gz tar -xvf php-7.1.6.tar.gz 生成php源码目录下的配置文件 configure cd /usr/src/php7.1.6/php-src-php-7.1.6 ./buildconf --force 运行完以后文件结构如下: . ├── acinclude.m4 ├── aclocal.m4 ├── appveyor ├── autom4te.cache ├── build ├── buildconf ├── buildconf.bat ├──

curl curl_exec 报错 Problem with the SSL CA cert (path? access rights?)

荒凉一梦 提交于 2019-12-04 06:21:39
使用cul扩展的时候提示 Problem with the SSL CA cert (path? access rights?) 或者使用yum 进行更新或者安装软件的时候提示失败 有一种可能就是系统的ca包没有更新 包名为 ca-certificates 更新一下这个包一般通过yum安装或者更新软件就没问题了 curl扩展还是提示这个问题 需要重启一下PHP 重新加载一下扩展才能解决问题 yum -y install ca-certificates pkill php-fpm /usr/local/php/sbin/php-fpm 来源: https://my.oschina.net/shunshun/blog/3128437

CentOS下yum安装PHP,配置php-fpm服务

China☆狼群 提交于 2019-12-04 06:16:01
yum list installed | grep php 先删除已有的php版本 ,执行下面的命令删除php yum remove php-common 然后像安装那样问你是否继续的,输入yes即可 添加 yum 源 CentOS 6.x 的源 # rpm -Uvh http://download. Fedora project.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm CentOS 7.x 的源 # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 安装 PHP # yum install --enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php