课堂'卡桑德拉'在C:\ xampp \ htdocs \ index.php中找不到

时间:2017-03-01 17:33:36

标签: php apache cassandra xampp

我正在xampp服务器上执行以下代码: -

<?php
$cluster   = Cassandra::cluster() 
             ->build();
$keyspace  = 'system';
$session   = $cluster->connect($keyspace);    
?>

但是我得到了错误 - Class&#39; Cassandra&#39;在C:\ xampp \ htdocs \ index.php中找不到:3堆栈跟踪:#3 {main}在第3行的C:\ xampp \ htdocs \ index.php中抛出。

我已经在xampp的php-&gt; ext文件夹中复制了Cassandra.dll文件。我甚至尝试过编写命令Use Cassandra但它没用。 请帮帮我!!!

1 个答案:

答案 0 :(得分:1)

您遇到的问题可能是由于您正在使用的XAMPP版本的构建版本不正确。 PHP版本,体系结构,VC编译器和线程安全(启用/禁用)都需要匹配您正在使用的扩展。要确定确切的需求,您可以执行以下命令:

  • php -i | FINDSTR /C:"PHP Version"
  • php -i | FINDSTR /C:"Architecture"
  • php -i | FINDSTR /C:"Compiler"
  • php -i | FINDSTR /C:"Thread Safety"
    • TS =线程安全=&gt;启用
    • NTS =线程安全=&gt;停用

作为一个例子,我测试了使用PHP v7.0.15的standalone XAMPP; x86和TS(线程安全=&gt;启用)。根据存档命名约定,您可以跳过php -i查找,并使用VC14编译器确定体系结构是x86。从归档名称中线程安全性不明显,但可以通过运行上述命令来确定;这个特殊的XAMPP是TS。

通过该信息,您将能够确定此特定XAMPP所需的驱动程序存档为cassandra-php-driver-1.2.2-7.0-ts-vc14-x86.zip。下载归档文件并将php_cassandra.dll放入xampp\php\ext目录后,您需要使用以下内容修改php.ini文件:

[cassandra]
extension=php_cassandra.dll

要验证正确加载扩展程序,您可以输入以下任一命令:

  • php -i | FINDSTR /C:"Cassandra support"
  • php -m并查找cassandra模块

注意:使用CCM为Apache Cassandra v3.10创建单节点集群,并且您的示例代码没有发现任何问题。