php7嵌入,ngx_php7
软件简介
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相关推荐
- php7 实战 新闻类,楼+之PHP7实战第1期
楼+ 之 PHP7 实战 6周实践成为 PHP 初级工程师 40个编程实验,23个挑战作业,7次作业直播 楼+ 是实验楼精心打造的教学产品,课程由实验楼一线核心研发人员和首席技术专家制作,且提供导师直 ...
- 安装PHP5、PHP7
安装 PHP5 PHP(Hypertext Preprocessor)英文超级文本预处理语言.PHP是一种HTML内嵌式的语言,是一种在服务端执行的嵌入HTML文档的脚本语言.官网:www.php.n ...
- PHP7新特性 What will be in PHP 7/PHPNG
来源:http://blog.csdn.net/hguisu/article/details/45094079/ 本文结合php官网和鸟哥相关文章总结: 官网:http://www.php7.ca/ ...
- php7中使用 xhprof 分析
开篇语 这是篇纯文档,如果以后有需要可以随时查找, 使用 xhprof 进行分析, 方便代码测试.对比分析(支持php7). 前置构建 docker 虚拟测试环境 docker run -it -p ...
- apache2 php mysql_二、Linux服务器apache2+PHP7+mysql环境配置
关于网站搭建的基础知识,请见我的另一篇文章 https://www.jianshu.com/p/9c65fcb14e4f 此处不加赘述.本文仅介绍Linux服务器环境的配置. 一.安装包下载与安装 1 ...
- PHP7革新与性能优化
有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的 新特性和性能优化的分享,一切都令人感 到激动.鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通 ...
- php7++linux安装,安装PHP5和PHP7
一.PHP5安装 PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写.PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言.官网:ww ...
- 精通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 ...
- 重启php软重启_php-fpm 的重启方法(php7.3)
php-fpm 为什么不能用 service 重启? 对于 centos 下使用 yum,或者 ubuntu 下使用 apt-get 等软件包管理工具安装的 php 来说,php-fpm 可以以服务的 ...
最新文章
- 简单01背包 POJ3211 Washing Clothes 多种衣服分别dp
- rtmp服务器与播放器的交互
- android shape的可选参数以及每个参数的含义与用法!
- 【转载】python几种经典排序方法的实现
- filebeat 配置文件详解
- 关于Chrome出现Provisional headers are shown无法正常访问的解决方案(其他firefox,360, IE访问正常) (转)...
- kinect内参数的标定
- 迟思堂工作室编程规范:单片机C语言
- 即插即打!教你快速上手数码复合机USB打印
- Golang groupcache LRU 缓存简介与用法
- python基本判断语句_python两种简洁的条件判断语句写法
- SSM整合(spring mybatis)图书
- Android-将RGB彩色图转换为灰度图
- Pycharm使用---Black代码格式化工具
- 3Dmax有哪些方法设置添加VR材质
- 【ERROR】java java.lang.NoClassDefFoundError 的解决办法(全)
- 有趣的十个Python实战项目,让你瞬间爱上Python!
- 编译工具各种报错(步骤正确,代码正确,配置正确)均可认为无解,除非...
- 【论文学习】Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature
- nb服务器协议,nb-iot协议详解
热门文章
- python统计库_python-科学计算常用库
- java委托事件与观察者模式_多播委托与观察者模式联合使用,以及委托与事件的区别...
- 返回的到的数据做整合_Excel玩转数据分析常用的43个函数!(建议收藏)
- [HNOI2008]GT考试
- python-字符串·文件·集合操作
- 一步一步深入spring(1)--搭建和测试spring的开发环境
- IE 域组策略对服务器无效的原因
- 分析easyVM 未完成)
- PHP-代码审计-命令执行
- Web服务器漏洞和安全