PHP编译时提示libjpeg.(a|so)notfou-创新互联

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/mysql/mysql --with-mysqli=/mysql/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --with-libxml-dir

成都创新互联公司主营台儿网站建设的网络公司,主营网站建设方案,成都App定制开发,台儿h5微信小程序开发搭建,台儿网站营销推广欢迎台儿等地区企业咨询

在根目录下查找 find / -name libjpeg.so 发现确实存在该库文件

/usr/lib64/libjpeg.so

网上大部分给出的解决方式为:

ln -s /usr/lib64/libjpeg* /usr/lib/

通过软链接的方式将该库文件指向lib目录下。但这样增加链接数不说,还导致后续维护的麻烦。

包括后续要为PHP 增加 gd,libpng等都需要做类似的操作,实在是麻烦,思考发现,为什么类似--with-gd这样的参数即使指定/usr/lib64这么明确的路径,编译过程还是会找lib下的库?编译文件的内容太多,不能一一查看,转念看看是否有参数另外指定动态库的路径呢?

仔细阅读了下configure的编译参数发现:

--with-libdir=NAME     Look for libraries in .../NAME rather than .../lib

解释说在指定的名称下查找库文件取代lib

OK,找到了参数,在尝试了数次后,发现其实只要指定--with-libdir=/lib64后就能顺利通过编译了。

另外:如果编译PHP时指定mysql路径问题,因为之前指定的是lib64导致如下报错Cannot find libmysqlclient_r under /mysql. 所以之类我ln -s /mysql/mysql/lib /mysql/mysql/lib64

还有一个问题就是我mysql一开始软链接直接指向根目录,结果编译时发现他查找的路径是/mysql/mysql,真气人,为了解决这个问题反复编译,最终只好把源码包链接到/mysql下形成/mysql/mysql这样的路径才解决问题。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:PHP编译时提示libjpeg.(a|so)notfou-创新互联
文章URL:http://pwwzsj.com/article/hoicp.html