因为当我将服务器更新为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";
}
以前,我通过在控制器中使用以下代码实现了这一点,但由于我不知道的原因,它不再起作用了
ini_set('allow_url_fopen',1);
我正在使用Laravel 5.2和图像干预包来处理上传的图像。正如我所说的,在PHP7和AutoSSL之前,所有这些都是有效的
我遗漏了什么?
发布于 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。
发布于 2021-11-05 12:20:49
我也有同样的问题。已禁用以下选项的池配置:
A)首先,我尝试找出修改设置的是哪个文件:
# 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)然后我编辑了文件
# vi /etc/php/7.3/fpm/pool.d/worpresspool1.conf
并使用;
注释上面的行
;php_admin_flag[allow_url_fopen] = off
C)在我的例子中,我重新启动了php-fpm服务,因为我使用的是Fast-cgi
# systemctl restart php7.3-fpm
https://stackoverflow.com/questions/43543297
复制相似问题