windows下安装php扩展(imagick)

宝塔面板php7.3&7.4版本不支持ZipArchive手工安装扩展方法

那天,我在公司服务器上遇到了一个小事件。
有一个网站,后台更新老是卡住,点击它就什么反应也没有。
我一看,原来是PHP7 .4 的ZipArchive扩展没有安装。
我想,这件事必须解决。
所以,我打开了 ssh 并开始修补。

首先,我检查了系统是否有libzip。
这是安装 Zip 扩展的先决条件。
事实证明,确实有。
然后,我在命令行上输入命令来安装 libzip。
安装完后,我突然想到需要设置PKG_CONFIG_PATH,否则PHP将无法找到zip扩展名。
因此,我在命令行上输入了export PKG_CONFIG_PATH='/usr/local/lib/pkgconfig/'。

接下来,我按照在线教程输入命令来安装 zip 扩展名。
安装完成后,我重新启动了PHP服务。
嘿嘿,太棒了,网站后台更新终于恢复正常了。

等等,还有一件事。
我发现PHP7 .4 版本的宝塔面板默认不带zip扩展名。
我需要注意这一点,也许将来有人会问这个问题。
不过,话说回来,这个PHP版本更新太快了,有时候确实让人摸不着头脑。

PHP 7.3 编译安装常见问题及解决方法

说实话,编译安装PHP7 .3 不是敲几行命令行就能完成的。
当我挣扎的时候,我的脚上踩出了许多洞。
下面的经历绝对是血泪得来的。
先说最常见的事情:编译时总是报告缺少依赖库。
这就像切菜一样简单,但是当您忘记安装 libxml2 -dev 或 libjpeg-dev 时,错误消息会让您发疯。
我记得有一次,当我半夜在 Ubuntu 上编译时,突然出现错误“无法打开共享对象文件”。
这时我很快检查了系统日志,发现libpng-dev没有安装。
只需 sudo apt-get install 即可,嘿,您可以立即继续编译。

我想知道安装脚本是否找不到头文件。
我遇到过在 CentOS 上安装 php7 3 -devel 但仍然出现错误的情况。
后来发现路径不对,手动指定了./configure --with-php-config=/usr/local/php7 3 /bin/php-config 就修复了。
这份清单非常重要。
缺少斜杠或错误的版本号可能会让您在屏幕上摸不着头脑。

信号冲突最烦人的是最烦人的事情。
OPcache 非常烦人。
我尝试使用 php-dopcache.enable=0 暂时禁用它,但有时它仍然不起作用。
最高效的是配置时直接加上--disable-opcache,编译后单独重新安装。
当我在 Debian 上编译时,我只尝试了三四次 clean 和 running,最后通过更改配置参数得到了正确的结果。

安装扩展时不要成为小白兔。
安装 imagick 扩展时, sudo apt-get install imagemagick 是不够的。
您还应该安装 libmagickwand-dev。
我的一个朋友忘记安装这个了。
结果phpize & ./configure & make & sudo make install 尝试了三遍就报错。
查资料后发现是Wade库版本不对,于是换了版本再试才成功。

PHP-FPM 无法启动问题对我来说是最糟糕的。
在 CentOS 上,我安装了它,但它在启动时卡住了。
我检查了记录,发现是许可证问题。
PHP-FPM 用户无法读取或写入 /var/run/php 中的文件。
只需 sudo chown -R www-data:www-data /var/run/php.嘿嘿,马上就开始了。
还有一次发生了端口冲突。
使用 netstat -tulnp |检查后grep 9 000,发现8 0端口被nginx占用。
只需更改 php-fpm.conf 中的监听参数即可。

您还应该多注意版本兼容性。
我记得需要安装 OpenSSL 1 .1 .x,但它确认我正确安装了 1 .1 .1 ,但当我安装 1 .1 .2 时出现错误。
./configure --prefix指定的路径是多版本共存时的关键。
我尝试将PHP7 .3 安装到/usr/local/php7 3 并相应地更改了配置文件路径,所以没有问题。

这是一种非常实用的清理旧集成残留物的方法。
出现编译错误后,我运行了 clean 和 rm -rf Makefile。
发现Makefile中有一条注释与系统环境冲突。
删除评论并重试后,它成功了。
所以编译前清理比什么都好。

这些陷阱都是用真钱来教授的。
有时我会头疼地看着错误日志半天,最后才意识到我在安装包的时候错过了按tab键。
总之,在采集和上传时,需要耐心、细心,并懂得核实信息。