php - allow_url_fopen 打开但 phpinfo 关闭

标签 php

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

fopen(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

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

allow_url_fopen=On
allow_url_include = On

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

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 处于“打开”状态

; 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 已关闭

Directive   Local Value Master Value
allow_url_fopen Off Off
allow_url_include   Off Off

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

if (ini_get("allow_url_fopen") == 'On') {
echo "allow_url_fopen is ON";
} else {
echo "allow_url_fopen is OFF";
}   

以前我确实通过在我的 Controller 中使用以下代码来实现它,但是由于我不知道的原因它不再起作用

ini_set('allow_url_fopen',1);

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

我错过了什么?

最佳答案

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

我根本找不到通过 SSH 禁用 allow_url_fopen 的位置。我想这是因为我不了解从 PHP5 到 PHP7 的升级过程,并且我通过 cPanel 只为每个帐户启用了 PHP7,尽管 Root 似乎仍在为 php.ini 使用 PHP5。

关于php - allow_url_fopen 打开但 phpinfo 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543297/

相关文章:

php - 你如何在 symfony2 中启动一个 memcached session ?

php - 通过 php 函数动态添加表单字段作为 "array"而不是值

php - 如何在 php 可下载应用程序中实现许可

php - Cucumber响应对象——PHP环境

php - WooCommerce 根据用户角色更改 BACS 订单状态

javascript - 使用 AJAX 进行验证

php - MYSQL事务问题,用PHP

javascript - Ajax 刷新整个页面的问题

php - 您如何知道两个不同版本之间的接口(interface)差异?

php - 使用 PHP 的 Azure 通知中心 REST API