【问题标题】:How to enable php extension using `phpize`?如何使用 `phpize` 启用 php 扩展?
【发布时间】:2011-09-06 06:11:17
【问题描述】:

我在不同的扩展程序上尝试了这些步骤,但我不知道为什么这不起作用。在那之后我不应该看到phpinfo() 输出的变化吗?

步骤:

  1. 解压php源码,将目录改为ext/ext_name
  2. phpize
  3. configure
  4. make
  5. 手动将“ext_name.so”文件从“../.lib”目录移动到“php.ini”文件中指定的“extension_dir”。 (或者make install
  6. 重启网络服务

有什么遗漏吗?我需要在php中启用某个扩展,没有办法重新编译整个php版本..

【问题讨论】:

    标签: php php-extension


    【解决方案1】:

    如果.so 被正确编译等,并且它在您的扩展目录中,那么您还需要添加以下行:

    extension=NAME.so
    

    这将强制加载。此时,如果确实有要显示的内容,它将显示在phpinfo()

    【讨论】:

    • 我这样做了,但我得到的唯一结果是警告PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/xsl.so' - /usr/lib/php/modules/xsl.so: undefined symbol: dom_node_class_entry in Unknown on line 0 :(
    • 这意味着你刚刚编译的模块依赖于PHP DOM模块,你还需要启用这个(在你启用xsl.so之前)。您是否正在为正确版本的 PHP 构建模块?
    • “正确的 PHP 版本”是什么意思?我下载了与已经安装的版本相同的 php 源代码。我尝试了与 DOM 相同的步骤,但我再次看到 phpinfo() 没有任何变化,所以我无法判断 DOM 是否启用:(
    • 感谢您的帮助,在删除所有以前生成的文件后,我再次执行了该过程。首先:执行dom 扩展的步骤,包括在php.ini 中添加extension=dom.so文件,第二个:执行xsl 扩展的步骤并在上一行之后添加extension=xsl.so ..重新启动httpd ..phpinfo() 表示启用了xsl ..再次感谢:)
    • 没问题。抱歉顺便说一句,15 小时前我没有看到你的第一个回复!
    猜你喜欢
    • 1970-01-01
    • 2013-10-23
    • 2015-12-05
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 2015-05-12
    相关资源
    最近更新 更多