软件简介

05608ac08d0a9e7a5a4f4ad9b4cf6f6a.png

ngx_php7 是一个嵌入 php7 脚本的 nginx 模块。

环境

- PHP-7.0.~ PHP-7.2.

- nginx-1.4.7 ~ nginx-1.10.3

安装

$ wget 'http://php.net/distributions/php-7.2.14.tar.gz'

$ tar xf php-7.2.14.tar.gz

$ cd php-7.2.14

$ ./configure --prefix=/path/to/php --enable-embed

$ make && make install

$ git clone https://github.com/rryqszq4/ngx_php7.git

$ wget 'http://nginx.org/download/nginx-1.12.2.tar.gz'

$ tar -zxvf nginx-1.12.2.tar.gz

$ cd nginx-1.12.2

$ export PHP_CONFIG=/path/to/php/bin/php-config

$ export PHP_BIN=/path/to/php/bin

$ export PHP_INC=/path/to/php/include/php

$ export PHP_LIB=/path/to/php/lib

$ ./configure --user=www --group=www \

$ --prefix=/path/to/nginx \

$ --with-ld-opt="-Wl,-rpath,$PHP_LIB" \

$ --add-module=/path/to/ngx_php7/third_party/ngx_devel_kit \

$ --add-module=/path/to/ngx_php7

$ make && make install

摘要

user www www;

worker_processes 4;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

keepalive_timeout 65;

client_max_body_size 64k;

client_body_buffer_size 64k;

php_ini_path /usr/local/php/etc/php.ini;

server {

listen 80;

server_name localhost;

default_type 'application/json; charset=UTF-8';

location /php {

content_by_php '

echo "hello ngx_php7";

';

}

location = /ngx_request {

content_by_php '

echo ngx_request::document_uri();

';

}

# curl /ngx_get?a=1&b=2

location = /ngx_get {

content_by_php '

echo "ngx::query_args()\n";

var_dump(ngx::query_args());

';

}

# curl -d 'a=1&b=2' /ngx_post

location = /ngx_post {

content_by_php '

echo "ngx::post_args()\n";

var_dump(ngx::post_args());

';

}

location = /ngx_sleep {

content_by_php '

echo "ngx_sleep start\n";

yield ngx::sleep(1);

echo "ngx_sleep end\n";

';

}

location = /ngx_socket2 {

default_type 'application/json;charset=UTF-8';

content_by_php '

$fd = ngx_socket_create();

var_dump($fd);

yield ngx_socket_connect($fd, "hq.sinajs.cn", 80);

$send_buf = "GET /list=s_sh000001 HTTP/1.0\r\n

Host: hq.sinajs.cn\r\nConnection: close\r\n\r\n";

yield ngx_socket_send($fd, $send_buf, strlen($send_buf));

$recv_buf = "";

yield ngx_socket_recv($fd, $recv_buf);

var_dump($recv_buf);

yield ngx_socket_close($fd);

';

}

location = /ngx_var {

set $a 1234567890;

content_by_php '

$a = ngx_var::get("a");

var_dump($a);

';

}

# set content-type of response headers

location = /ngx_header {

content_by_php '

ngx_header_set("Content-Type", "text/html; charset=UTF-8");

';

}

# run a php file

location = /php {

content_by_php '

include "name_of_php_file.php";

';

}

# run any php file in root

location = / {

content_by_php '

include ngx_var::get("uri");

';

}

}

}

php7嵌入,ngx_php7相关推荐

  1. php7 实战 新闻类,楼+之PHP7实战第1期

    楼+ 之 PHP7 实战 6周实践成为 PHP 初级工程师 40个编程实验,23个挑战作业,7次作业直播 楼+ 是实验楼精心打造的教学产品,课程由实验楼一线核心研发人员和首席技术专家制作,且提供导师直 ...

  2. 安装PHP5、PHP7

    安装 PHP5 PHP(Hypertext Preprocessor)英文超级文本预处理语言.PHP是一种HTML内嵌式的语言,是一种在服务端执行的嵌入HTML文档的脚本语言.官网:www.php.n ...

  3. PHP7新特性 What will be in PHP 7/PHPNG

    来源:http://blog.csdn.net/hguisu/article/details/45094079/ 本文结合php官网和鸟哥相关文章总结: 官网:http://www.php7.ca/  ...

  4. php7中使用 xhprof 分析

    开篇语 这是篇纯文档,如果以后有需要可以随时查找, 使用 xhprof 进行分析, 方便代码测试.对比分析(支持php7). 前置构建 docker 虚拟测试环境 docker run -it -p ...

  5. apache2 php mysql_二、Linux服务器apache2+PHP7+mysql环境配置

    关于网站搭建的基础知识,请见我的另一篇文章 https://www.jianshu.com/p/9c65fcb14e4f 此处不加赘述.本文仅介绍Linux服务器环境的配置. 一.安装包下载与安装 1 ...

  6. PHP7革新与性能优化

    有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的 新特性和性能优化的分享,一切都令人感 到激动.鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通 ...

  7. php7++linux安装,安装PHP5和PHP7

    一.PHP5安装 PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写.PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言.官网:ww ...

  8. 精通php7,PHP 7从入门到精通

    章初识PHP1 1.1PHP的来龙去脉1 1.1.1PHP的概念1 1.1.2PHP的发展历程2 1.1.3PHP的优势2 1.2PHP能干什么3 1.3PHP7的新特点4 1.4PHP常用开发工具6 ...

  9. 重启php软重启_php-fpm 的重启方法(php7.3)

    php-fpm 为什么不能用 service 重启? 对于 centos 下使用 yum,或者 ubuntu 下使用 apt-get 等软件包管理工具安装的 php 来说,php-fpm 可以以服务的 ...

最新文章

  1. 简单01背包 POJ3211 Washing Clothes 多种衣服分别dp
  2. rtmp服务器与播放器的交互
  3. android shape的可选参数以及每个参数的含义与用法!
  4. 【转载】python几种经典排序方法的实现
  5. filebeat 配置文件详解
  6. 关于Chrome出现Provisional headers are shown无法正常访问的解决方案(其他firefox,360, IE访问正常) (转)...
  7. kinect内参数的标定
  8. 迟思堂工作室编程规范:单片机C语言
  9. 即插即打!教你快速上手数码复合机USB打印
  10. Golang groupcache LRU 缓存简介与用法
  11. python基本判断语句_python两种简洁的条件判断语句写法
  12. SSM整合(spring mybatis)图书
  13. Android-将RGB彩色图转换为灰度图
  14. Pycharm使用---Black代码格式化工具
  15. 3Dmax有哪些方法设置添加VR材质
  16. 【ERROR】java java.lang.NoClassDefFoundError 的解决办法(全)
  17. 有趣的十个Python实战项目,让你瞬间爱上Python!
  18. 编译工具各种报错(步骤正确,代码正确,配置正确)均可认为无解,除非...
  19. 【论文学习】Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature
  20. nb服务器协议,nb-iot协议详解

热门文章

  1. python统计库_python-科学计算常用库
  2. java委托事件与观察者模式_多播委托与观察者模式联合使用,以及委托与事件的区别...
  3. 返回的到的数据做整合_Excel玩转数据分析常用的43个函数!(建议收藏)
  4. [HNOI2008]GT考试
  5. python-字符串·文件·集合操作
  6. 一步一步深入spring(1)--搭建和测试spring的开发环境
  7. IE 域组策略对服务器无效的原因
  8. 分析easyVM 未完成)
  9. PHP-代码审计-命令执行
  10. Web服务器漏洞和安全