PHP编译成功但执行报错:无法找到共享库libmcrypt.so.4
解决PHP执行时找不到libmcrypt.so.4的问题
你已经成功编译了PHP,但系统没法找到libmcrypt的共享库文件——这是因为你安装的libmcrypt在/usr/local/lib目录,而Ubuntu(包括WSL环境)默认不会自动把这个路径加入共享库的搜索列表里。下面给你两种解决办法:
临时快速解决(立即生效,重启后失效)
直接在终端里执行这条命令,临时把/usr/local/lib加入共享库搜索路径:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
执行完之后再跑php -v,应该就能正常显示PHP版本信息了。
永久解决(重启系统后依然有效)
如果不想每次重启都重复操作,就用这个方法:
- 打开系统的共享库配置文件:
sudo nano /etc/ld.so.conf - 在文件的末尾添加一行内容:
/usr/local/lib - 按
Ctrl+O保存,Ctrl+X退出编辑器,然后执行下面的命令让系统重新加载共享库配置:sudo ldconfig - 现在再执行
php -v,问题应该就彻底解决了。
另外提一句,你编译PHP时用了--with-libdir=lib64,如果你的WSL是64位环境,这个配置没问题,但libmcrypt默认安装在/usr/local/lib,所以还是得靠上面的方法让系统找到它。
内容的提问来源于stack exchange,提问作者pigLoveRabbit520
相关产品推荐
相关产品推荐

