首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >allow_url_fopen打开,但phpinfo显示关闭

allow_url_fopen打开,但phpinfo显示关闭
EN

Stack Overflow用户
提问于 2017-04-21 12:55:53
回答 2查看 12K关注 0票数 4

因为当我将服务器更新为PHP7或为我的服务器启用AutoSSL时,我一直无法上传文件。我的错误如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fopen(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

我不知道allow_url_fopen=0是从哪里来的,因为在全局php.ini和子域内的php.ini中都使用了声明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
allow_url_fopen=On
allow_url_include = On

在phpinfo()中,我看到我的php.ini文件在哪里...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Configuration File (php.ini) Path   /opt/cpanel/ea-php70/root/etc
Loaded Configuration File   /opt/cpanel/ea-php70/root/etc/php.ini

当我打开这个php.ini文件时,我看到allow_file_fopen是“开”的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen = On

; Whether to allow include/require to open URLs (like http:// or ftp://) as fil$
; http://php.net/allow-url-include
allow_url_include = On

但是在同一个phpinfo()文件中,我看到allow_file_fopen是关闭的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Directive   Local Value Master Value
allow_url_fopen Off Off
allow_url_include   Off Off

在另一个堆栈交换线程中,我被告知尝试下面的代码,结果发现它是关闭的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (ini_get("allow_url_fopen") == 'On') {
echo "allow_url_fopen is ON";
} else {
echo "allow_url_fopen is OFF";
}   

以前,我通过在控制器中使用以下代码实现了这一点,但由于我不知道的原因,它不再起作用了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ini_set('allow_url_fopen',1);

我正在使用Laravel 5.2和图像干预包来处理上传的图像。正如我所说的,在PHP7和AutoSSL之前,所有这些都是有效的

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-26 09:24:06

通过编辑"MultiPHP INI编辑器“部分,我能够找到WHM中关闭allow_url_fopen的位置。从那里我选择了PHP7。它给我的第一个选项是启用allow_url_fopen。这修复了我的错误。

我找不到通过SSH禁用allow_url_fopen的地方。我猜这是因为我不了解从PHP5到PHP7的升级过程,而且我只通过cPanel为每个账户启用了PHP7,尽管cPanel似乎仍然在使用PHP5的php.ini。

票数 4
EN

Stack Overflow用户

发布于 2021-11-05 12:20:49

我也有同样的问题。已禁用以下选项的池配置:

A)首先,我尝试找出修改设置的是哪个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # cd /etc/php
    # grep -r allow_url_fopen

7.3/fpm/pool.d/worpresspool1.conf:php_admin_flag[allow_url_fopen] = off
7.3/fpm/php.ini:allow_url_fopen = On
7.3/cli/php.ini:allow_url_fopen = On

B)然后我编辑了文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # vi /etc/php/7.3/fpm/pool.d/worpresspool1.conf 

并使用;注释上面的行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ;php_admin_flag[allow_url_fopen] = off

C)在我的例子中,我重新启动了php-fpm服务,因为我使用的是Fast-cgi

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # systemctl restart php7.3-fpm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43543297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文