Предупреждение PHP: Запуск PHP: не удается загрузить динамическую библиотеку «cassandra.so» (пробовал: / usr / lib / php / 20170718 / cassandra - PullRequest
0 голосов
/ 16 апреля 2019

Я настраиваю квадратный 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: нет такого файла или каталога)) в Unknown в строке 0

Я погуглил и попробовал все решения, которые уже были сделаны, но ни одно не помогло моему. Я пробовал:

  1. Чтобы найти кассандру на php.ini в /etc/php/7.2/cli, но я ее не нашел.
  2. Для установки Cassandra с помощью команды sudo apt-get install php-cassandra в /usr/lib/php/20170718, но все равно отображается та же ошибка.
  3. Обновите и обновите Ubuntu, чтобы убедиться, что нет внутренних ошибок, если они были?

Я ожидаю установить cassandra и загрузить его динамически.

1 Ответ

0 голосов
/ 17 апреля 2019

Расширение драйвера DataStax PHP является оболочкой для драйвера C / C ++ и требует установки всех его зависимостей:

Поскольку вы используете драйвер PHP с PHP v7.2, вам нужно будет создать расширение, так как они не являются встроенными двоичными файлами для этой версии 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.

...