安装自定义php扩展名不会显示在phpinfo()中,即使ini文件调用它

安装自定义php扩展名不会显示在phpinfo()中,即使ini文件调用它,php,php-extension,php-ini,libpuzzle,Php,Php Extension,Php Ini,Libpuzzle,在重新安装php之前,我曾经运行过这个扩展。phpinfo()显示我的ini文件位于/etc/php/7.4/apache2/php.ini 在php.ini文件中,我有: extension=/usr/lib/php/20190902/libpuzzle.so error.log显示: PHP警告:PHP启动:无法加载动态库 “libpuzzle.so”(尝试过:/usr/lib/php/20190902/libpuzzle.so (/usr/lib/php/20190902/libpuzz

在重新安装php之前,我曾经运行过这个扩展。phpinfo()显示我的ini文件位于/etc/php/7.4/apache2/php.ini

在php.ini文件中,我有:

extension=/usr/lib/php/20190902/libpuzzle.so
error.log显示:

PHP警告:PHP启动:无法加载动态库 “libpuzzle.so”(尝试过:/usr/lib/php/20190902/libpuzzle.so (/usr/lib/php/20190902/libpuzzle.so:无法打开共享对象文件: 没有这样的文件或目录),/usr/lib/php/20190902/libpuzzle.so.so (/usr/lib/php/20190902/libpuzzle.so.so:无法打开共享对象 文件:第0行上的未知中没有此类文件或目录)

我不知道为什么,但日志上写着:libpuzzle.so.so。所以除了libpuzzle.So之外,我还创建了一个libpuzzle.So.So。重新启动Apache后,phpinfo仍然不会显示libpuzzle,libpuzzle也不会工作。Libpizzle需要GD库,我已经安装并启用了GD库。我验证了该文件存在,并且权限为root:root 644,与所有其他扩展名一样

php-m也不会将其显示为已加载


我现在迷路了,不知道该去哪里找它来启动和运行。关于下一步该做什么有什么帮助吗?

我让它开始工作了。我在扩展的构建过程中使用了PHPIZEforPHP7.0。phpize我现在有了php7.4,所以我安装了phpize for 7.4,重建了扩展,它可以工作了。但是仍然没有意义,因为扩展名so文件就是它应该在的地方。我仍然想解释一下我为什么错了。有人吗?“没有这样的文件或目录”很清楚。我通常发现它是正确的,即使在一开始我完全相信相反的观点之后;-)我遇到了这个问题,如果我没记错的话,我试图在TS环境中安装32位扩展,而不是64位,或者可能是windows NTS。无论如何,这个错误信息是有欺骗性的,因为文件存在,它只是错误的类型。我的意思是,在我99年的Ubuntu和其他操作系统工作中。。。如果我可以用ls-la看到它,我可以移动它,并设置权限。。。文件确实在那里。哈哈。我想克里斯·哈斯可能在那里有所发现。我在一个64位的系统上,这就是我编译它的地方,所以我假设它是64位的。我不知道如何找到更多,我想我会得到一个不同的错误,如无效的扩展或其他东西