×

nignx支持php么

nignx支持php么(php nigix开发)

admin admin 发表于2023-03-12 13:42:09 浏览55 评论0

抢沙发发表评论

本文目录一览:

云服务器如何配置nginx支持php?

[root@redhat7 ~]# wget

[root@redhat7 ~]# tar xzvf php-7.1.2.tar.gz

[root@redhat7 ~]# cd php-7.1.2/

[root@redhat7 ~]# ./configure --prefix=/usr/local/php --enable-fpm

[root@redhat7 php-7.1.2]# makemake install

查看是否成功编译安装PHP

[root@redhat7 php-7.1.2]# php -v

PHP 7.1.2 (fpm-fcgi) (built: Apr 14 2017 20:21:53)

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

编译安装完成后PHP不具备配置文件php.ini,此时只需复制php.ini-production到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目录下-nignx支持php么

[root@localhost php-7.1.2]# cp php.ini-production /usr/local/lib/php.ini

[root@redhat7 php]# /usr/local/php/sbin/php-fpm

[14-Apr-2017 20:59:49] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)-nignx支持php么

[14-Apr-2017 20:59:49] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'

[14-Apr-2017 20:59:49] ERROR: FPM initialization failed

启动php-fpm发现缺乏配置文件/usr/local/php/etc/php-fpm.conf

此时只需复制php-fpm的配置文件在安装php时提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相应/usr/local/php/etc/php-fpm.conf即可-nignx支持php么

[root@redhat7 etc]# /usr/local/php/sbin/php-fpm

[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/﹡.conf' from /usr/local/php/etc/php-fpm.conf at line 125.-nignx支持php么

[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file-nignx支持php么

[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration

[14-Apr-2017 21:14:32] ERROR: FPM initialization failed

[root@redhat7 etc]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@redhat7 etc]# cp /usr/local/php/etc/php-fpm.d/ /usr/local/php/etc/php-fpm.d/

[root@redhat7 etc]# /etc/init.d/php-fpm

[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)-nignx支持php么

[14-Apr-2017 21:23:02] ERROR: FPM initialization failed

[root@redhat7 etc]# netstat -nldp|grep 9000

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste -nignx支持php么

[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm

[root@redhat7 php-7.1.2]# ll /etc/init.d/php-fpm

-rwxr-xr-x 1 root root 2401 4月 14 21:26 /etc/init.d/php-fpm

[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start

Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)-nignx支持php么

[14-Apr-2017 21:28:09] ERROR: FPM initialization failed

failed

[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste -nignx支持php么

[root@redhat7 php-7.1.2]# kill 3721

[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000

[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start

Starting php-fpm done

[root@redhat7 php-7.1.2]# service php-fpm status

php-fpm (pid 3927) is running...

[root@redhat7 php-7.1.2]# chkconfig --add php-fpm

[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 on

配置nginx支持PHP

修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在后面添加下面这个location

location ~ .php$ {

root /usr/share/nginx/html; #指定php的根目录

fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

nginx 支持php~呢?

nginx本身就是php的发布软件,自己就支持php的一定要在nginx期待的情况下使用,所有的php项目放在配置的项目文件夹

nginx下怎么支持THinkPHP

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' = 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以nginx默认情况下是不支持thinkphp的。不过我们可以通过修改nginx的配置文件来让其支持thinkphp。-nignx支持php么

让nginx支持pathinfo,支持thinkphp

1

我们打开nginx的配置文件,如果是想某个站点支持,请打开对应站点的配置文件

如何让nginx支持ThinkPHP框架

2

我们注释掉配置文件中那些被我圈出来的语句(location ~ \.php$ {……}这一段里面的),我们将对这部分进行重写!

如何让nginx支持ThinkPHP框架

3

将重写后的代码添加进去。

如何让nginx支持ThinkPHP框架

4

添加的代码如下:

.........................................

location / {

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php/$1 last;

break;

}

}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

}希望能帮到你,我还在后盾人线下面授培训上课学习呢现在没时间,有不会的可以问我,加油吧(。・ω・。)ノ♡

nginx配置支持php

nginx本身不支持php解析,需要配合php-fpm来配置。

location ~ \.php$ {

     root /var/www; #指定php的根目录

     fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000

     fastcgi_index index.php;

     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

     include fastcgi_params;

}

centos下安装php-fpm (php及其它组件已经安装过的情况)

yum install php-fpm

启动php-fpm 并设置开机启动 (centos 7)

systemctl start php-fpm

systemctl enable php-fpm

怎么在nginx中运行php文件

nginx本身不能处理php,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回给nginx本文以php-fpm为例介绍如何使nginx支持php.