PHP - 扩展 - no-debug-non-zts-xxxxxxxx

Mik*_*ell 6 php php.ini

我正在编译 php 扩展(memcached 和 xdebug),当我运行 make install 时,它们会继续安装到 /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626 中。所以有几个问题:

  1. no-debug-non-zts-20090626 甚至是什么意思,为什么它是默认值?

  2. 编辑 php.ini 文件并将 extension_dir 指令设置为上述目录是一种好习惯吗?或者我应该用 PREFIX=/usr/local/php/extensions 编译每个模块?因此,当我进行安装时,它们会被放入自定义扩展目录中,然后我可以将 extension=/usr/local/php/extensions/memcached.so 行添加到我的 .ini 文件中。

  3. 编译新模块时是否存在风险,它会进入与问题 #1 中的目录不同的目录?

Cha*_*les 3

“no-debug-non-zts-20090626”意味着它是在没有调试标志和 ZTS 的情况下构建的,ZTS 是 PHP 用于指示内部线程安全的缩写词。日期戳用于识别内部 API 版本。我非常确定 PHP 5.3。

您可能想要真正寻找由您的操作系统发行版或受信任的第三方提供的这些模块的预编译版本,而不是自己编译这些模块,从而导致这些问题需要答案。Memcached 和 xdebug 是非常常见的扩展,而且很可能您已经可以轻松使用它们。

如果做不到这一点,您可能需要使用该pecl工具来下载、编译和安装它们。这些工具的存在有充分的理由。