为什么我的PHP扩展是为PHP4而不是PHP5编译的

我正在尝试为Dreamhost PS编译memcache。

该库已创build,但不显示在phpinfo中。 Apache日志说库不加载,因为“未定义的符号:OnUpdateInt在第0行未知”

我读到OnUpdateInt在PHP4中定义,而OnUpdateLong在PHP5中定义。 所以问题是编译configuration认为它应该用PHP4编译。

PHP的SAPI版本是5.2.10(在phpinfo中显示)。 CLI是4.4.9(由php -v显示)

我的问题:如何使库的编译与我的服务器上的PHP5兼容,而不是php4。

好像你想要更新你的path来“select”PHP 5而不是PHP 4.编译过程使用哪个PHP它find你的path。 要find您当前的安装:

which php 

PHP信息应该显示PHP 5版本的path。 为了testing它,你可以运行php -v到PHP 5版本的完整path(例如,如果它位于/usr/local/bin ,可以使用/usr/local/bin/php -v )。 然后你可以更新你的path:

 # for bash export PATH=/usr/local/bin:$PATH 

然后php -v应该在这之后打到更新的版本。

如果他们都安装了“并排”(例如phpphp5二进制文件),则需要使用configuration选项(假设您正在从源代码编译memcached)。 我不熟悉Dreamhost是如何设置的。