美文网首页
PHP 扩展加载so 库报undefined symbol

PHP 扩展加载so 库报undefined symbol

作者: 日三省吾身 | 来源:发表于2020-06-01 12:49 被阅读0次

出现这个问题的原因

  • 主要是因为没有成功的加载so库导致的

解决思路

  1. 修改config.m4文件中16-18行,打开注释
PHP_ARG_ENABLE(say, whether to enable say support,
Make sure that the comment is aligned:
[  --enable-say           Enable say support])
  1. 再config.m4文件末尾,增加共享库的配置
  PHP_ADD_LIBRARY_WITH_PATH(hello, /usr/local/lib/, SAY_SHARED_LIBADD)  //指定库名,地址,类型
  PHP_SUBST(SAY_SHARED_LIBADD) //发布为共享库
  PHP_NEW_EXTENSION(say, say.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
  PHP_INSTALL_HEADERS(ext/say, [php_say.h])
  1. 重新phpize 生成configure文件.
  2. 编译configure,如果需要,则指定php-config地址
./configure --with-php-config=/usr/local/php/bin/php-config
  1. 查看makefile文件确认是否有这些


    image.png
  2. make && make install. 不报错即可

相关文章

  • PHP 扩展加载so 库报undefined symbol

    出现这个问题的原因 主要是因为没有成功的加载so库导致的 解决思路 修改config.m4文件中16-18行,打开...

  • linux下查看动态链接库undefined symbol后的原

    linux下在加载动态链接库时若缺少某个依赖库导致报undefined symbol:xxx(一个编码后的函数名)...

  • PHP扩展安装出错

    undefined symbol: core_globals 报错信息: 由于业务需要,开发了一个php扩展。但是...

  • QT相关问题

    1、添加opencv的动态库,路经没有问题,但是始终加载不上so文件,报错如下: undefined refere...

  • _OBJC_CLASS_$_UTDevice

    Undefined symbol: _OBJC_CLASS_$_UTDevice Undefined symbol...

  • 安卓,so库动态载入

    so库动态载入,修复应用无法安装。 (so库动态加载示例。从asset目录加载so库,安装时不导出so库,不会导致...

  • PHP添加扩展库的常见方式

    PHP提供了许多扩展库,安装时需要使用命令控制加载哪些扩展库,或者安装成功以补充的形式扩展,以实现对应的功能调用 ...

  • php安装redis报错

    php安装redis报错 调整json和redis扩展的加载顺序,先加载json扩展,然后在加载redis扩展

  • Debian Linux下增加php对curl扩展的支持

    使用php -m查看php当前已开启扩展库 原本在安装php时没有设置curl扩展库,最近项目需要curl扩展库的...

  • PHP 魔术变量

    PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才...

网友评论

      本文标题:PHP 扩展加载so 库报undefined symbol

      本文链接:https://www.haomeiwen.com/subject/ibijzhtx.html