Есть ли способ иметь Cassandra PDO в Windows с Wamp?
Это для целей разработки. Я не хочу устанавливать Linux и менять всю среду.
https://code.google.com/a/apache-extras.org/p/cassandra-pdo/
Я использую Windows 7 (64 бит), Wamp 2.5, PHP 5.5.
Хорошо, вот что я узнал:
1) Это вполне возможно
2) Документы, которые появляются в первых результатах поиска Google, немного устарели
Начните с загрузки последней версии Datastax Community Cassandra здесь:
http://planetcassandra.org/cassandra/
устанавливать & настроить правильно. Фактически, большая часть конфигурации выполняется установщиком, вам просто нужно отредактировать файл apache-cassandra / conf / cassandra.yaml, чтобы найти все пути к / var / lib … и изменить их на что-то вроде d: / Кассандра / … Это включает в себя «commitlog», «data», «save_caches». Перезапустите сервис Cassandra, изучите журналы. Мой показал, не проблема. OpsCenter at …: 8888 / opscenter / index.html работал нормально, показывая один узел в сети.
Теперь часть PHP.
Есть хитрая вещь, которая называется Thrift. Из того, что я узнал сегодня (я впервые услышал о Cassandra и Thrift вчера), это способ описать двоичный протокол подключения к некоторому онлайн-сервису, в данном случае к Cassandra. Он будет в основном генерировать файлы PHP, которые обеспечат всю необходимую вам связь с самим PHP (без расширений).
Тебе понадобится:
1) Thrift PHP libs
2) Компилятор .exe Thrift
Оба можно скачать здесь:
https://thrift.apache.org/download
Затем используйте следующую команду для компиляции файлов PHP, которые будут действовать как «драйвер» для подключения ваших приложений PHP к Cassandra:
thrift —gen php D: \ DataStaxCommunity \ apache-cassandra \ interface \ cassandra.thrift
Поместите результат в какую-нибудь папку PHP include_path.
Также найдите библиотеки PHP Thrift (в архиве библиотек с той же страницы загрузки) и поместите их в папку, доступную для вашего сценария (например, include_path или папку проекта).
Обратитесь на эту страницу:
thrift.apache.org/lib/php
Я думаю, это должно помочь!
У меня та же проблема, что и у вас, но когда я попробовал этот метод, он работает правильно для меня.
Ссылка ссылка
Вот пример кода, который очень легко понять:
<?php
require_once 'Cassandra/Cassandra.php';
$o_cassandra = new Cassandra();
$s_server_host = '127.0.0.1'; // Localhost
$i_server_port = 9042;
$s_server_username = ''; // We don't use username
$s_server_password = ''; // We don't use password
$s_server_keyspace = 'cassandra_tests';
$o_cassandra->connect($s_server_host, $s_server_username, $s_server_password, $s_server_keyspace, $i_server_port);
$s_cql = "CREATE TABLE carles_test_table (s_thekey text, s_column1 text, s_column2 text,PRIMARY KEY (s_thekey));";
$st_results = $o_cassandra->query($s_cql);