在我的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
来处理请求。有关详细信息,请参阅this document。
正则表达式location
块优先于常规前缀location
块,因此任何以.php
结尾的URI都将由location ~\.php$
块处理,无论它是否以/example
开头。有关详细信息,请参阅this document。
如果要创建发送其他fastcgi参数的location
,则需要包含所有必需的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";
}
}