刁旭东 2023-04-23 19:27 采纳率: 42.9%
浏览 37
已结题

php 编写扩展,感觉某个路径有问题

系统环境 centos 7
我需要编写一个php扩展,我只会c,运维那边用宝塔安装php 7.4.33(运维不想让我直接代码安装,说后面管理不方便),然后我在这台机器上下载了7.4.29的代码 .编译php的时候把安装路径指向了宝塔安装的php的路径(不知道是否生效),然后就是从网上搜的编写过程(动态编译,不是静态编译),编写完成后将so的名字添加到了php.ini, 在宝塔重启了php.
然后执行php -m命令中没有找到我的库的名字,但是我通过执行php -d extension=php_helloworld.so -r 'helloworld_php();'是成功的

请问我应该如何在宝塔安装的php中添加我的自定义库

  • 写回答

3条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2023-04-23 21:06
    关注

    如果您已经成功编写了自定义的 PHP 扩展,并且通过方式 php -d extension=php_helloworld.so -r 'helloworld_php();' 成功测试并运行,那么您需要确保宝塔所使用的 PHP 拥有您的扩展。这里提供一个可能的解决方案:

    1. 确认您的自定义扩展已经被编译成 .so 文件,例如 php_helloworld.so

    2. 找到宝塔使用的 PHP 的 php.ini 配置文件。一般来说,宝塔安装的 PHP 配置文件应该在 /www/server/php/<版本号>/etc/php.ini

    3. php.ini 的最后一行添加以下代码:

      [PHP]
      extension=/path/to/php_helloworld.so
      

      其中,/path/to 是您编译得到的 .so 文件所在的完整路径。请注意确保该路径拥有执行权限。

    4. 保存 php.ini 文件并重新启动 Apache 或者 PHP-FPM。

    5. 执行 php -m 命令验证您的自定义扩展是否已经被成功加载。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 赞助了问题酬金15元 4月23日
  • 创建了问题 4月23日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度