区块链技术博客
www.b2bchain.cn

nginx 反代与根目录 PHP 共存程序员分享

本文介绍了nginx 反代与根目录 PHP 共存程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Backlitz:错误信息:
在 nginx 的一个 vhost 配置中,在根目录放置 index.php 文件,并为子目录设置反代,直接访问域名时返回 nginx403,需手动添加 index.php 方可正常访问 php 。

猜测原因:
在使用 nginx 反代时,将反代设置为子目录,location 使用直接匹配。
而引入 php 配置时使用正则匹配。
直接匹配优先级高于正则匹配。

配置文件示例:

server {     listen 443 ssl http2;     server_name domain_name;     root /home/www;     index index.php;          #ssl 配置略去          location ~ .php$ {         include fastcgi_params;         fastcgi_intercept_errors on;         fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;         fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;     }      location /deluge/ {         proxy_pass http://localhost:8112/;         proxy_set_header X-Deluge-Base "/deluge/";         add_header X-Frame-Options SAMEORIGIN;     } } 

尝试解决:
location ~ .php$ { 修改为强制匹配 location = / {
在 location 模块中使用 alias 指向绝对目录

    location = / {         include fastcgi_params;         fastcgi_intercept_errors on;         fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;         fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;         index index.php         alias /home/www;     } 

访问网页,返回纯文本内容 File not found.

已知在不设置子目录反代时,该配置 php 可正常访问。

请问是否有办法解决这个问题?

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

wmwmajie:很多个类文件引用了 同一个第三方的库,那么这里类文件相互之间又有引用,请问这个被引用的第三方库是只会被加载一次么? 没研究过源码请教。JaguarJack:是的 只会一次

ChenKevin:1.刚接触 PHP,现公司有个项目需要混淆代码,如果可以加密下(主要混淆就好)2.先主流用什么方式呢?知道的小伙伴推荐个下3.公司经费有限,最好免费的,谢谢大家哈

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » nginx 反代与根目录 PHP 共存程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们