我仔细阅读了这里的所有问答大约2天,但无法解决我的问题,所以请不要说我应该阅读搜索的前20个字符串中的东西。
我的问题是:
我用的是Xubuntu,apache2和php5。Cassandra本身已安装并正常工作,cassandra服务正在运行,cassandra cpp已安装。命令
pecl install cassandra工作正常,物理cassandra.so存在。当我在php.ini中添加extension=cassandra.so时,Apache在启动时崩溃。当我尝试运行时
php -r " Cassandra::cluster()->build();"<br> 它返回:
PHP Fatal error: Class 'Cassandra' not found in Command line code on line 1我尝试添加在‘php.ini’(如extension = sdbcibsdbc.so)中不存在的扩展,但它被忽略了,所以问题不是出在错误或其他方面-- cassandra.so会崩溃。同样,以前的版本(cassandra-1.0.0)只是忽略了,不会使Apache崩溃,但也不能工作。
那会是什么呢?
发布于 2016-04-06 02:05:24
我解决了问题,但细节仍不清楚。这种情况下,当您可以安装cassandra php驱动程序,但不能添加到'php.ini‘意味着一些C++驱动程序依赖没有解决,在我的情况下,它是libuv。我不知道怎么可能:没有libuv的libuv-dev以及为什么pecl不会抛出错误。
我删除了libuv 1.8.0并安装了1.7.5 -一切正常!然后我再次尝试1.8.0,它也可以工作。
因此,可能我错过了安装过程中的某些步骤,但它没有出现错误或警告。
像往常一样,大多数问题都会在仔细重新安装后消失。
发布于 2019-12-07 20:25:55
安装Cassandra后,您必须在php.ini中添加extension=cassandra.so才能启用它:
Build process completed successfully
Installing '/opt/rh/rh-php71/root/usr/lib64/php/modules/cassandra.so'
install ok: channel://pecl.php.net/cassandra-1.3.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=cassandra.so" to php.inihttps://stackoverflow.com/questions/36419535
复制相似问题