【问题标题】:Class 'Cassandra' not found in C:\xampp\htdocs\index.php在 C:\xampp\htdocs\index.php 中找不到类“Cassandra”
【发布时间】:2017-07-21 04:03:19
【问题描述】:

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

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

但我收到错误 - 在 C:\xampp\htdocs\index.php:3 中找不到类 'Cassandra' 堆栈跟踪:#0 {main} 在 C:\xampp\htdocs\index.php 中抛出在线3.

我已经将 Cassandra.dll 文件复制到 xampp 的 php->ext 文件夹中。我什至尝试编写命令 Use Cassandra 但它没有用。 请帮帮我!!!

【问题讨论】:

标签: php cassandra xampp


【解决方案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 = 线程安全 => 启用
    • NTS = 线程安全 => 禁用

作为一个例子,我测试了使用 PHP v7.0.15 的standalone XAMPP; x86 和 TS(线程安全 => 启用)。根据存档命名约定,您可以跳过 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 创建单节点集群,您的示例代码未发现任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    相关资源
    最近更新 更多