Lar*_*dee 1 php upgrade imagick
我知道有很多关于将 imagick 安装到 Php7+ 的问题,不幸的是所有的答案都没有解决我的问题。
我只是更新到 php7.4,所以我按照之前的设置从 7.3、7.2 到启用 imagick,基本上:
echo extension=imagick.so > /etc/php/7.4/mods-available/imagick.ini
Run Code Online (Sandbox Code Playgroud)
然后软链接到“fpm”和“cli”目录:
ln -s /etc/php/7.4/mods-available/imagick.ini /etc/php/7.4/fpm/conf.d/20-imagick.ini
ln -s /etc/php/7.4/mods-available/imagick.ini /etc/php/7.4/cli/conf.d/20-imagick.ini
Run Code Online (Sandbox Code Playgroud)
重新加载了 php7.4-fpm,但是 imagick 还是加载失败
用php -i验证| grep imagick但出现以下错误:
PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib/php/20190902/imagick.so (/usr/lib/php/20190902/imagick.so: cannot open shared object file: No such file or directory), /us
r/lib/php/20190902/imagick.so.so (/usr/lib/php/20190902/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)
注意:
- 我试图清除php-imagick 并重新安装它,但不起作用。
小智 6
I solved it on my raspi this way (based on the instructions here: How to Install PHP imagick extension):
sudo apt install php7.4-dev (if not already installed)pecl Version (must match with 7.4): pecl versionsed is executable from /bin/sed (the pecl install needs it to be there, I had to symlink it from /usr/bin/sed)sudo apt install libmagickwand-devsudo pecl install imagickThen you can carry on with the steps you already made:
sudo echo extension=imagick.so > /etc/php/7.4/mods-available/imagick.ini
sudo ln -s /etc/php/7.4/mods-available/imagick.ini /etc/php/7.4/fpm/conf.d/20-imagick.ini
sudo ln -s /etc/php/7.4/mods-available/imagick.ini /etc/php/7.4/cli/conf.d/20-imagick.ini
Run Code Online (Sandbox Code Playgroud)
After that, restart your services (php7.4-fpm, apache, nginx, ...).
Hope this helps!