静态编译PHP 5.6的Zlib
我正在使用docker图像5.6.30-alpine
https://hub.docker.com/_/php/ 。 我收到错误
PHP Notice: getimagesize(): The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled in /var/www/builds/stage81/platform/class/Wm/View/FileInfo.php on line 55
我找不到一个方法来使zlib
静态编译。 我尝试了所有可能的选项包括
- 添加zlib-dev
-
./configure --with-zlib --with-zlib-dir=/usr
-
./configure --with-zlib=/usr --with-zlib-dir=/usr
他们都没有工作,仍然得到相同的信息。 有没有办法让zlib
静态编译? 有没有解决方法?
我发现这个问题。 我正在回应,以防其他人遇到同样的问题。
这个问题的根本原因是我对Apache和PHP如何交互的理解。 我错误地认为Apache使用安装的PHP。 看起来有两个不同的东西。 安装的PHP或PHP-cli从不与Apache交互。 Apache使用libphp5.so
进行PHP集成。 因为我使用的是php5-apache2
所以它自带libphp5.so
,其中的configuration是--with-zlib=shared
。 所以即使安装的PHP静态地zlib对Apache也没有影响。 我已经提出了与这个https://bugs.alpinelinux.org/issues/7284高山问题。