我已经完成了如下安装过程:
系统
PHP 7.0.5-1〜dotdeb + 8.1(cli)(NTS)
Debian 8
- 在Debian 7下禁止使用nginx 403
- 邮件()在新服务器上不起作用
- Ubuntu上的nginx:权限被拒绝
- http2模块nginx不能正常工作
- 如何在Debian上设置php5-fpm的umask?
Nginx 1.8.1
Laravel 5.2
Java安装
mkdir -p /usr/lib/jvm wget URL to Oraclesite mv mv jdk-8u77-linux-x64.tar.gz\?... jdk-8u77-linux-x64.tar.gz tar xzf jdk-8u77-linux-x64.tar.gz rm jdk-8u77-linux-x64.tar.gz update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_version/bin/java" 1 update-alternatives --set java /usr/lib/jvm/jdk1.8.0_version/bin/java
安装所需的包
apt install cmake automake libtool git php7.0-dev libgmp-dev libssl-dev
Libuv安装
cd /tmp wget http://dist.libuv.org/dist/v1.7.5/libuv-v1.7.5.tar.gz tar xzf libuv-v1.7.5.tar.gz rm libuv-v1.9.0.tar.gz cd libuv-v1.7.5 sh autogen.sh ./configure make make install ldconfig
安装Cassandra Datatrax
echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add - apt install cassandra dsc30
检查服务
service cassandra status
cassandra.service – LSB:用于结构化数据的分布式存储系统Loaded:loaded(/etc/init.d/cassandra)Active:active(running)since Mon 2016-04-11 01:11:04 CEST; ExecStart = / etc / init.d / cassandra start(code = exited,status = 0 / SUCCESS)CGroup:/system.slice/cassandra.service
nodetool status
数据中心:datacenter1 =======================状态=上/下| /状态=正常/离开/join/移动 – 地址负载令牌拥有(有效)主机ID机架UN 127.0.0.1 139.06 KB 256 100.0%
1ab0e99a-41a5-4007-b9ca-de58dc88e318 rack1
cqlsh
连接到testing群集在127.0.0.1:9042。 [cqlsh 5.0.1 | Cassandra 3.0.4 | CQL规范3.4.0 | 本机协议v4]使用帮助寻求帮助。
安装php-driver(PECL安装不工作,我想这是因为只有php7的设置)
git clone https://github.com/datastax/php-driver.git cd php-driver git submodule update --init cd ext ./install.sh make test -> all tests passed
添加驱动程序到PHP扩展
echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/cli/php.ini // UPDATE - added extension to fpm/php.ini file. echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/fpm/php.ini
重新启动nginx和php7.0-fpm
service nginx restart service php7.0-fpm restart
题:
如果我想使用下面的代码,它说我没有find类Cassandra。 网页: https : //github.com/datastax/php-driver#datastax-php-driver-for-apache-cassandra
$cluster = Cassandra::cluster()->build();
感谢您的帮助。
由于您正尝试使用nginx + fpm执行您的PHP脚本,您将需要更新适当的php.ini文件(例如/etc/php7/fpm/php.ini
)。
将驱动程序模块添加到您的nginx + fpm安装中
echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/fpm/php.ini
为确保通过CLI正确加载驱动程序,您可以执行以下操作:
php -m | grep cassandra
要么
php -i | grep -A 10 "^cassandra$"
php -m
会打印出PHP能够加载的所有扩展/模块,而php -i
将显示有关您的PHP安装配置的更详细的信息。
更新1
当我执行以下2个命令时,我得到以下两个结果,看起来相当成功。
php -m | grep cassandra
卡桑德拉
php -i | grep -A 10“^ cassandra $”
卡桑德拉
Cassandra支持=>启用C / C ++驱动程序版本=> 2.2.2持续集群=> 0持久会话=> 0
指令=>本地值=>主值cassandra.log => cassandra.log => cassandra.log cassandra.log_level =>错误=>错误
但仍然没有阶级卡桑德拉的错误。
更新2
现在一切正常。
php > $cluster = Cassandra::cluster()->build(); php > var_dump($cluster); object(Cassandra\DefaultCluster)#2 (0) { } php >