在我的 laravel 应用程序中,我使用 laravel 干预图像,我想使用 imagick 驱动程序代替 gd。
在我的 ubuntu 服务器中我使用 php 7.3,例如当我执行 php -ini 时我得到以下内容:
/etc/php/7.3/cli
出现以下错误,可能是由于 php-imagick 版本不匹配
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20170718/imagick.so' (tried: /usr/lib/php/20170718/imagick.so (/usr/lib/php/20170718/imagick.so: undefined symbol: _zval_ptr_dtor), /usr/lib/php/20180731//usr/lib/php/20170718/imagick.so.so (/usr/lib/php/20180731//usr/lib/php/20170718/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
我使用以下命令下载 php-imagick:
sudo apt-get install php-imagick
当我使用此命令安装 php-imagick 时:
sudo apt-get install php-imagick
我得到了这个日志,你可以看到安装的版本是 php7.2,而我使用的是 php7.3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
php-imagick
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 0 B/90.7 kB of archives.
After this operation, 477 kB of additional disk space will be used.
Selecting previously unselected package php-imagick.
(Reading database ... 103072 files and directories currently installed.)
Preparing to unpack .../php-imagick_3.4.3~rc2-2ubuntu4.1_amd64.deb ...
Unpacking php-imagick (3.4.3~rc2-2ubuntu4.1) ...
Setting up php-imagick (3.4.3~rc2-2ubuntu4.1) ...
Processing triggers for php7.2-phpdbg (7.2.24-0ubuntu0.18.04.17) ...
Processing triggers for php7.2-cli (7.2.24-0ubuntu0.18.04.17) ...
我还用命令编辑了我的 php.ini 文件sudo nano /etc/php/7.3/cli/php.ini,我尝试过:
extension=imagick.so
和
extension=/usr/lib/php/20170718/imagick.so
但是我仍然无法让 php 识别 php-imagick 模块,我尝试使用下面的命令下载但它说:无法找到包 php7.3-imagick
sudo apt-get install php7.3-imagick
当我尝试查找 imagick 的安装位置时,我使用sudo find /usr -name imagick.so
并得到以下结果:
/usr/lib/php/20170718/imagick.so
```