php - ImageMagick invalid_image,未授权和错误/构成.c/ReadImage/454在主域但不在子域
问题描述
我的页面上有以下 php 代码:
$image_editor = wp_get_image_editor( 'https://smashballoon.com/wp-content/themes/smashballoon/img/smash-balloon-logo-small.png' );
var_dump( $image_editor );
在我的主域(比如 www.domainname.com)上,这会产生以下错误:
object(WP_Error)#4950 (2) { ["errors"]=> array(1) { ["invalid_image"]=> array(1) { [0]=> string(134) "not authorized `//smashballoon.com/wp-content/themes/smashballoon/img/smash-balloon-logo-small.png' @ error/constitute.c/ReadImage/454" } } ["error_data"]=> array(1) { ["invalid_image"]=> string(88) "https://smashballoon.com/wp-content/themes/smashballoon/img/smash-balloon-logo-small.png" } }
所以我将站点克隆到一个子域(比如 mytest.domainname.com)......它不会产生错误,但是:
object(WP_Image_Editor_Imagick)#4595 (7) { ["image":protected]=> object(Imagick)#4593 (0) { } ["file":protected]=> string(88) "https://smashballoon.com/wp-content/themes/smashballoon/img/smash-balloon-logo-small.png" ["size":protected]=> array(2) { ["width"]=> int(357) ["height"]=> int(71) } ["mime_type":protected]=> string(9) "image/png" ["default_mime_type":protected]=> string(10) "image/jpeg" ["quality":protected]=> int(82) ["default_quality":protected]=> int(82) }
我已经问过我的托管公司问题是什么......但他们不知道,所以我在这里问:是什么导致完全相同的代码在我的主域上不起作用,但它在子域上起作用?(网站是克隆的,包括htaccess等。子域和主域设置在同一个账号上)
解决方案
有趣的是,在与托管公司来来回回几周后,他们突然发现 php.ini 文件禁用了 allow_url_fopen。
尽管如此,我还是将问题留在这里,以防其他人偶然发现同样的问题。
推荐阅读
- javascript - 数据集到 Javascript/Typescript 中的对象数组
- html - 如何在使用 Flask 时让 CSS 找到我的静态图像?
- python - 如何将 django 视图更改为 django rest farmework
- android - 如何在android中保存onActivityResult Intent数据?
- php - 在 Jessengers MongoDB 中使用 Laravel Lumen 中的聚合函数
- visual-studio - 如何让自定义键绑定在 Visual Studio Community 2019 中工作?
- python - 气流命令停止所有 dag 执行
- installation - Inno Setup 仅排除树根中的一个子目录,但不排除树中具有相同名称的所有其他子目录
- javascript - Jquery过滤器功能不响应:not()伪选择器
- powershell - 在 PowerShell 中修改日期变量