php7嵌入,ngx_php7

软件简介

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");

';

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ngx_php功能是为nginx模块嵌入php脚本语言。别名为php-nginx-module。 特性 * 支持加载php.ini配置文件 * 支持原生php的全局变量$_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_SESSION... * 支持运行php代码与文件 * 支持RFC 1867文件上传协议 * 支持php错误输出 * 支持加载与运行PECL扩展 * 支持nginx的API在php中调用 环境 - PHP 5.3.*     PHP 5.4.*     PHP 5.5.*     PHP 5.6.* - nginx-1.4.7     nginx-1.6.3     nginx-1.8.1     nginx-1.9.15 安装 git clone https://github.com/rryqszq4/ngx_php.git wget 'http://nginx.org/download/nginx-1.6.3.tar.gz' tar -zxvf nginx-1.6.3.tar.gz cd nginx-1.6.3 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_php/dev/ngx_devel_kit \             --add-module=/path/to/ngx_php 概要 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 10m;        client_body_buffer_size 4096k;     php_ini_path /usr/local/php/etc/php.ini;     server {         listen       80;         server_name  localhost;              location /php {             content_by_php '                 echo "hello ngx_php";             ';         }     } } 标签:ngxphp

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值