当前位置:首页>开发>正文

怎么在nginx中运行php文件 Nginx跟php和mysql数据库怎么连接的

2023-05-09 19:23:39 互联网 未知 开发

 怎么在nginx中运行php文件 Nginx跟php和mysql数据库怎么连接的

怎么在nginx中运行php文件

nginx中不能直接运行php文件,只能通过调用外部CGI处理器运行php文件。php的CGI处理器在Linux中常用的是 php-fpm。在win中就只能是 php-cgi.exe 了。相关CGI的知识请百度,可以使用nginx CGI关键字进行查询。

Nginx跟php和mysql数据库怎么连接的

nginx 通过libevent 建立了网络连接池,通过nginx的 fast_cgi配置 (fastcgi_pass ip:port),用tcp 127.0.0.1:9000 方式连接 或者 unix socket unix:///var/run/unix.sock 方式 连接,php 与mysql 通过 php _ mysql* 扩展,实现的tcp连接 (可以持久连接或非持久连接)

nginx的php怎么放入php文件

Nginx有两份fastcgi配置文件,分别是「fastcgi_params」和「fastcgi.conf」,它们没有太大的差异,唯一的区别是后者比前者多了一行「SCRIPT_FILENAME」的定义:
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name

注意:$document_root 和 $fastcgi_script_name 之间没有 /。

mac 权限的nginx怎么支持php

Mac OSX下配置nginx和php
首先安装nginx, 其次需要HomeBrew, 按照官网说明安装
然后安装PHP,以下的命令在终端执行:

更新下brew的库,加入php支持:

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
然后执行:

# 需要mysql,就把--without-mysql改为--with-mysql
brew install --without-apache --with-fpm --without-mysql php5执行上面的命令后,brew就开始下载php源码并编译安装,大概几分钟时间。
安装完成后,配置php/bin到终端环境(未验证,貌似跟mac本身自带的php有冲突?):

#这一步成不成功没关系,这步的目的只是让终端可以执行PHP命令,不影响web服务器使用
echo export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH" >> ~/.bash_profile
设置随系统自动启动:

mkdir -p ~/Library/LaunchAgents
#注意文件homebrew.mxcl.php55.plist的路径,需要根据实际情况改成自己的目录和文件名
cp /usr/local/Cellar/php55/5.5.13/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
上面只是设置了自启动,但是还没真正启动,所以执行以下命令手动启动PHP-FPM:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
php的配置和启动工作已经结束了,然后验证一下,执行

lsof -Pni4 | grep LISTEN | grep php
如果输出以下类似内容,那就表示成功了,否则。。。自找原因吧:

php-fpm 69659 frdmn 6u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69660 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69661 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69662 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
最后就是配置nginx虚拟机:

server {
listen 80
server_name php.cssor.com
root /var/www

location / {
index index.html index.shtml
}
#配置后缀为.php的就交给php引擎处理
#如果需要整站都托管给php,就把location ~ .php$ 替换为location / ,同时上面的location / 配置就不需要了
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
include fastcgi_params
}
}

如何nginx启动php服务器

安装 PHP 和 nginx 后,无法解析 PHP 文件。
其中,PHP 和 nginx 的编译安装 configure 如下:
# PHP 5.3../configure --prefix=/usr/local/php -- enable-fpm
# nginx 1.0.1./configure --prefix=usr/local/nginx
# 成功安装后,创建 php-fpm.conf 配置文件,删除 nginx.conf 中“pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000”部分的注释
cd /usr/local/php/etc
mv php-fpm.conf.default php-fpm.conf
vi /usr/local/nginx/conf/nginx.conf
# 删除如下部分的注释,保存退出

最新文章