发布于2026-07-21 阅读(0)
扫一扫,手机访问
ngx_php这个模块,简单来说,就是给nginx插上PHP脚本的翅膀。它还有个更通俗的名字叫php-nginx-module,功能非常直观:让nginx能够直接嵌入PHP语言来处理请求。
从PHP 5.3到5.6,ngx_php都支持得不错。nginx这边,从1.4.7到1.9.15这几个主流版本也都经过验证,覆盖了比较长的使用周期。
先拉取代码,再准备好nginx源码,然后配置编译环境。具体操作其实不复杂:
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
配置时要注意几个关键点:环境变量要指向实际的PHP安装路径,ld-opt参数一定要加上,否则运行时可能找不到PHP库。另外,ngx_devel_kit这个依赖模块也不能少,得先准备好。
来看一个典型的nginx配置片段:
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";
';
}
}
}
关键配置项有三个:worker_processes设置进程数,client_max_body_size和client_body_buffer_size控制请求体大小,php_ini_path则指定PHP的配置文件路径。location块里直接用content_by_php指令,就能在nginx内部执行PHP代码了。
这里有个小细节值得注意:php_ini_path这个参数比较灵活,可以指向自定义的php.ini文件,方便调整执行环境。如果不需要,也可以不设置,模块会使用默认配置。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8