Imagick successfull installation but error occurs: Uncaught Error: Class 'imagick' not found
Imagick successfull installation but error occurs: Uncaught Error: Class 'imagick' not found
我已经阅读了十几篇文章,但是 none 提供了一个合适的解决方案。我可以通过 SSH 访问我的服务器,我通过 composer 安装了 imagick,如下所示:
composer require calcinai/php-imagick
我的本地服务器(开放服务器)和远程服务器上都成功安装了库。然后我做:
$imagick = new imagick();
$imagick->setResolution(300, 300);
在我的本地机器上一切正常,但在我的网络托管上 returns 未捕获错误:Class 'imagick' 未找到。我是否需要对所有文件执行 require
之类的操作?因为我试图在开头添加以下内容:
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/calcinai/php-imagick/src/Imagick.php';
现在它抛给我这个:未捕获的异常:Imagick::setResolution 未实现
请指教。
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/calcinai/php-imagick/src/Imagick.php';
上一行不是必需的。如评论中所述,Composer 对 class 名称的大小写非常严格,并且不鼓励对 class 名称的大小写进行调整,因为 Composer 在其 class 映射中对其进行了适当的严格自动加载。
$imagick = new Imagick();
上一行是正确的初始化方式。就异常而言,他们自己的内部实现将其作为尚未实现的东西抛出。下面是他们的方法体,
方法定义:
/**
* @param float $x_resolution
* @param float $y_resolution
* @return bool
*/
public function setResolution($x_resolution, $y_resolution)
{
throw new Exception(sprintf('%s::%s not implemented', __CLASS__, __FUNCTION__));
}
就远程服务器而言,一切都在那里表现得相当好。如果您真的需要 setResolution
的一些实现,其他一些库可能会有所帮助。
我已经阅读了十几篇文章,但是 none 提供了一个合适的解决方案。我可以通过 SSH 访问我的服务器,我通过 composer 安装了 imagick,如下所示:
composer require calcinai/php-imagick
我的本地服务器(开放服务器)和远程服务器上都成功安装了库。然后我做:
$imagick = new imagick();
$imagick->setResolution(300, 300);
在我的本地机器上一切正常,但在我的网络托管上 returns 未捕获错误:Class 'imagick' 未找到。我是否需要对所有文件执行 require
之类的操作?因为我试图在开头添加以下内容:
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/calcinai/php-imagick/src/Imagick.php';
现在它抛给我这个:未捕获的异常:Imagick::setResolution 未实现
请指教。
require_once $_SERVER['DOCUMENT_ROOT'].'/vendor/calcinai/php-imagick/src/Imagick.php';
上一行不是必需的。如评论中所述,Composer 对 class 名称的大小写非常严格,并且不鼓励对 class 名称的大小写进行调整,因为 Composer 在其 class 映射中对其进行了适当的严格自动加载。
$imagick = new Imagick();
上一行是正确的初始化方式。就异常而言,他们自己的内部实现将其作为尚未实现的东西抛出。下面是他们的方法体,
方法定义:
/**
* @param float $x_resolution
* @param float $y_resolution
* @return bool
*/
public function setResolution($x_resolution, $y_resolution)
{
throw new Exception(sprintf('%s::%s not implemented', __CLASS__, __FUNCTION__));
}
就远程服务器而言,一切都在那里表现得相当好。如果您真的需要 setResolution
的一些实现,其他一些库可能会有所帮助。