很多站长朋友们都不太清楚nginx调试php,今天小编就来给大家整理nginx调试php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 如何正确配置 Nginx 和 PHP 2、 linux nginx 无法执行php文件 3、 windows环境下使用nginx,如何支持php? 4、 如何设置nginx的php fastcgi进程数 5、 xdebug未经验证的断点 如何正确配置 Nginx 和 PHP直接贴上代码逐行进行讲解,此处贴出一个能正常启动php脚本的最简nginx vhost配置:
[plain] view plain copy
server {
listen 8011;
server_name test.cn;
location ~ \.php?.*$ {
root /share/test;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
1、第一个大括号 server{ }:不必多说,代表一个独立的server,
2、listen 8011:代表该server监听8011端口
3、location ~ \.php?.*${
}:代表一个能匹配对应uri的location,用于匹配一类uri,并对所匹配的uri请求做自定义的逻辑、配置。这里的location,匹配了所有带.php的uri请求,例如:
等
4、root /share/test:请求资源根目录,告诉匹配到该location下的uri到/share/teset文件夹下去寻找同名资源。
5、fastcgi_pass 127.0.0.1:9000:这行开始是本文的重点:这行代码的意思是,将进入到该location内的uri请求看做是cgi程序,并将请求发送到9000端口,交由php-fpm处理。
6、fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
:这行配置意思是:动态添加了一行fastcgi配置,配置内容为SCRIPT_FILENAME,告知管理进程,cgi脚本名称。由于我的nginx中只有fastcgi_params文件,没有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具体值,就必须要动态的添加这行配置。
7、include fastcgi_params; 引入fastcgi配置文件
以上就是最简洁版的nginx启动php脚本的最简配置,当重启nginx之后,在/share/test目录下创建一个xx.php文件,输入<?php
echo "hello world"; ?>保存,然后在浏览器中访问localhost:8011/xx.php
就可以在网页上显示hello world了。
linux nginx 无法执行php文件为以前没有接触过nginx ,所以查了一天,查处原因有二:
一、网站根目录
默认是在 /usr/local/nginx/html文件
配置在
location / {
root /home/www/wwwroot;
index index.html index.htm;
}
二、修改文件中对应的php配置部分
location ~ \.php$ {
root /home/www/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
特别需要注意的是:fastcgi_param这个参数默认的是$fastcgi_script_name;最好改为$document_root$fastcgi_script_name;我在实际配置中出现了php找不到需要解析文件而返回404或者500错误的问题。所以最好是带上网站根目录的路径变量$document_root
windows环境下使用nginx,如何支持php?使用nginx+php集成包phpfind或phpstudy即可一键安装好环境。还支持php版本一键切换,带控制面板的,纯中文绿色解压即可,完全符合国人使用习惯,你试试吧
如何设置nginx的php fastcgi进程数NMP环境现在还是比较多人用的,下面介绍一个修改php-cgi进程数的方法: 一、修改php-cgi: vi /usr/local/nginx/conf/nginx.conf 二、其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。 vi /usr/local/php/etc/php-fpm.conf 三、找到,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误,注:PHP5.3系列不需要修改。 四、优化后,重启lnmp /root/lnmp restart
xdebug未经验证的断点Copyright © 1999-2020, CSDN.NET, All Rights Reserved

打开APP


ajanious
关注
微软vscode中使用xdebug调试,断点不执行或跳过断点的坑 原创
2019-05-12 17:59:17
 1点赞

ajanious 
码龄4年
关注
vscode调试php断点
vscode可以说是一款调试php的神器了,这里我们不说如何安装php debug,以及xdebug了,只说一说其中遇到的一个坑:一切安装完毕,按F5键进行调试,结果断点不执行,这是为什么呢?
现象
如果在apache或nginx日志中发现:
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
1
2
1
2
说明你的php.ini没有配置好。
解决方法
我们在设置php扩展的时候,在windows下面一般都是采用修改php.ini,增加extension的方式,例如:
extension=php_mbstring.dll
1
1
但是对于有的zend扩展,就不要用这个方法了,直接用zend_extension,这里我们就用xdebug说明:
zend_extension="C:/php/ext/php_xdebug-2.7.2-7.1-vc14.dll"
1
1
设置好之后,重启apache或nginx服务器,设置好断点,就能正确执行到断点就停止了
关于nginx调试php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于nginx调试php nginx调试卡顿的详细内容...