![为什么我的 php 扩展是针对 PHP4 而不是 PHP5 进行编译的](https://linux22.com/image/496710/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20php%20%E6%89%A9%E5%B1%95%E6%98%AF%E9%92%88%E5%AF%B9%20PHP4%20%E8%80%8C%E4%B8%8D%E6%98%AF%20PHP5%20%E8%BF%9B%E8%A1%8C%E7%BC%96%E8%AF%91%E7%9A%84.png)
我正在尝试为 Dreamhost PS 编译 memcache。
库已创建但未显示在 phpinfo 中。Apache 日志显示库未加载,因为“未定义符号:第 0 行 Unknown 中的 OnUpdateInt”
我读到 OnUpdateInt 是在 PHP4 中定义的,而 OnUpdateLong 是在 PHP5 中定义的。因此问题在于编译配置认为它应该使用 PHP4 进行编译。
PHP 的 SAPI 版本是 5.2.10(phpinfo 中显示)。CLI 是 4.4.9(php -v 显示)
我的问题:如何使库的编译与我服务器上的 PHP5 兼容而不是 php4。
答案1
似乎您想更新 PATH 以“选择” PHP 5 而不是 PHP 4。编译过程将使用在您的路径中找到的任何 PHP。要查找当前安装:
which php
PHP info 应该会显示 PHP 5 版本的路径。要测试它,您可以php -v
使用 PHP 5 版本的完整路径运行(例如,如果它在,/usr/local/bin
您可以使用/usr/local/bin/php -v
)。然后您可以更新您的路径:
# for bash
export PATH=/usr/local/bin:$PATH
然后php -v
应该在这之后打出更新的版本。
如果它们都“并排”安装(例如 aphp
和php5
二进制),则需要使用配置选项(假设您正在从源代码编译 memcached)。我不熟悉 Dreamhost 如何进行该设置。