php - 允许 php 值仅在子目录中工作
问题描述
在我的 php.ini 中,我禁用了 allow_url_fopen。我想为我的 /example 目录启用它,如下所示,但它不起作用。但是,如果我将指令从 /example 移动到它上面的 ~.php$ 位置,那么它可以正常工作。我在想 /example 位置块永远不会被处理。任何想法如何允许 url fopen 仅在 /example 目录中工作?
server {
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location /example {
fastcgi_param PHP_ADMIN_VALUE "allow_url_fopen=1";
}
}
解决方案
nginx
选择一个location
来处理请求。有关详细信息,请参阅此文档。
正则表达式 location
块优先于正则前缀 location
块,因此任何以结尾的 URI.php
都将由您的location ~\.php$
块处理,无论它是否以 . 开头/example
。有关详细信息,请参阅此文档。
如果你想创建一个location
发送额外的 fastcgi 参数,你需要包含所有必需的 fastcgi 指令。
例如:
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location ^~ /example {
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param PHP_ADMIN_VALUE "allow_url_fopen=1";
}
}
推荐阅读
- sql-server - 在 UPDATE / SET 语句中使用 LAG() 计算的值会引发错误
- php - HTTPS 握手调试
- java - Spring JPA - 更新一个表正在更新后端中的另一个表
- flutter - 在 Dart 中作为(伪)函数指针传递的 getter/setter 方法?
- talend - 在作业服务器上启动作业时出现 Talend Studio 错误
- javascript - 如何使用 javascript 将 html 模板包含到另一个 html 中
- c++ - 更快地生成递归序列(类似于斐波那契)
- csv - StackOverflow2013 数据库到 Neo4j 数据库迁移的问题
- c# - 除法 C# 后双精度和小数的数值精度
- r - 通过 R 中的 azure 机器学习 + azuremlsdk 部署模型并将模型公开为 Web 服务