自从我把服务器升级到PHP7或者我为我的服务器启用了AutoSSL之后,我就不能上传文件了。我的错误如下
fopen(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0
我不知道allow_url_fopen=0是从哪里来的,因为全局php.ini和子域中的php.ini都使用了stating
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);
我正在使用Laravel5.2和图像干预包来处理上传的图像。正如我所说,这是所有工作之前PHP7和AutoSSL
我错过了什么?
3条答案
按热度按时间ilmyapht1#
我可以通过编辑“MultiPHP INI编辑器”部分找到WHM中
allow_url_fopen
被关闭的位置。从那里我选择了PHP7。它给我的第一个选项是启用allow_url_fopen
。这修复了我的错误。我无法通过SSH找到
allow_url_fopen
被禁用的地方,我想这是因为我不了解从PHP5到PHP7的升级过程,而且我只通过cPanel为每个帐户启用了PHP7,尽管Root似乎仍然在使用PHP5 for php.ini。2guxujil2#
我遇到了同样的问题。池的配置被禁用选项:
A)首先,我尝试查找正在修改设置的文件:
B)然后我编辑了文件
并使用
;
注解上面的行:C)在我的例子中,我重新启动了php-fpm服务,因为我使用的是Fast-cgi
hfsqlsce3#
在WHM的MultiPHPManager中,在PHP-FPM INI设置下,将URL视为文件(allow_url_fopen)-选中此选项阻止域更改设置-取消选中此选项(重要)然后重新启动PHP-FPM服务,它会工作。同时,确保在域级别启用它。