首页 > 解决方案 > 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等。子域和主域设置在同一个账号上)

标签: phpwordpressimagemagick

解决方案


有趣的是,在与托管公司来来回回几周后,他们突然发现 php.ini 文件禁用了 allow_url_fopen。

尽管如此,我还是将问题留在这里,以防其他人偶然发现同样的问题。


推荐阅读