PHP 警告:PHP 启动:无法加载动态库“cassandra.so”(已尝试:/usr/lib/php/20170718/cassandra
Posted
技术标签:
【中文标题】PHP 警告:PHP 启动:无法加载动态库“cassandra.so”(已尝试:/usr/lib/php/20170718/cassandra【英文标题】:PHP Warning: PHP Startup: Unable to load dynamic library 'cassandra.so' (tried: /usr/lib/php/20170718/cassandra 【发布时间】:2019-09-06 06:12:51 【问题描述】:我正在设置 square api,将其集成到客户端,现在在服务器端工作,但为此我需要使用 composer
管理依赖项,在安装 composer 时出现上述错误。
我正在安装 composer,当我运行 composer install
时,composer 已安装,但我还收到了 php 警告,即
PHP 警告:PHP 启动:无法加载动态库 'cassandra.so'(试过:/usr/lib/php/20170718/cassandra.so (/usr/lib/php/20170718/cassandra.so:无法打开共享对象文件: 没有这样的文件或目录),/usr/lib/php/20170718/cassandra.so.so (/usr/lib/php/20170718/cassandra.so.so: 无法打开共享对象 file: No such file or directory)) 在 Unknown on line 0
我用谷歌搜索并尝试了所有已经完成的解决方案,但没有一个对我有用。我试过了:
-
在 /etc/php/7.2/cli 的 php.ini 中找到 cassandra 但我没有找到。
在
/usr/lib/php/20170718
中使用命令sudo apt-get install php-cassandra
安装Cassandra,但仍然显示相同的错误。
更新和升级 Ubuntu,确保没有内部错误(如果有的话)?
我希望安装 cassandra 并动态加载它。
【问题讨论】:
您是否也安装了 DataStax C/C++ 驱动程序? PHP 驱动程序是 C/C++ 驱动程序中 C API 的包装器。 我还没有安装DataStax,在安装之前我想知道的是,这个扩展是在安装php时预嵌入/预安装的吗?(我只想知道这是因为,我的错误最近被发现)。为了检查是否已经安装,我使用了“php --re DataStax”命令并得到“异常:扩展 DataStax 不存在”消息,这是检查 DataStax 的正确方法吗? 【参考方案1】:DataStax PHP 驱动程序扩展是 C/C++ 驱动程序的包装器,需要 installation 的所有依赖项:
C/C++ driver libuv1.x OpenSSL v1.0.x 或 v1.1.x(取决于你的 PHP 是如何构建的) The GNU Multiple Precision Arithmetic Library由于您在 PHP v7.2 中使用 PHP 驱动程序,因此您需要构建扩展,因为它们不是此版本 PHP 的预构建二进制文件:
git clone https://github.com/datastax/php-driver.git
cd php-driver/ext
phpize
cd ..
mkdir build
cd build
../ext/configure
make
sudo make install
注意:为了正确构建扩展,需要所有依赖项的开发包。
安装驱动程序后,您需要编辑php.ini
文件以启用可以通过执行php -r "echo php_ini_loaded_file();"
定位的扩展:
; DataStax PHP Driver for Apache Cassandra
extension=cassandra.so
为确保通过 CLI 正确加载驱动程序,您可以执行以下操作:
php -m | grep cassandra
或
php -i | grep -A 10 "^cassandra$"
php -m
将打印出 PHP 能够加载的所有扩展/模块,而 php -i
将显示有关您的 PHP 安装配置的更详细信息。
【讨论】:
在 ../ext/configure 命令后我得到“configure: error: Unable to load libgmp” ,msg 这里有什么问题,我该如何加载 libgmp? 您需要安装 GNU 多精度算术库的开发库(例如 Debian/Ubuntu 上的 libgmp-dev 和 CentOS/RHEL 平台上的 gmp-devel)。以上是关于PHP 警告:PHP 启动:无法加载动态库“cassandra.so”(已尝试:/usr/lib/php/20170718/cassandra的主要内容,如果未能解决你的问题,请参考以下文章
Composer 安装“PHP 警告:PHP 启动:无法加载动态库 'gd2'”
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/mysql.so'
PHP 警告:PHP 启动:无法加载动态库 imagic.so
PHP 警告:PHP 启动:无法加载动态库 '\xampp\php\ext\php_mailparse.dll' - 找不到指定的模块