Неустранимая ошибка: класс «Aerospike» не найден

Я пытаюсь загрузить aerospike php api class но получил ошибку

Fatal error: Class 'Aerospike' not found

Мой код выглядит

<?php
require "vendor/autoload.php";

$config = [
"hosts" => [
[ "addr" => "127.0.0.1", "port" => 3000]
]
];// The new client will connect and learn the cluster layout
$db = new Aerospike($config);

Я делаю установку композитора и обновление композитора, что не так? Если вам нужно больше файлов, чтобы показать, скажите мне.

1

Решение

Чтобы использовать клиент Aerospike API для PHP, вы должны быть в состоянии скомпилировать код C и установить скомпилированное расширение на ваш сервер.

Для этого требуется дополнительный пакет установленных пакетов, позволяющий вашей машине компилировать данные, и Composer не может предоставить ни один из них.

Так что этот пакет выглядит невинным, но это не настоящий пакет PHP Composer. Вы не можете использовать его как любой другой пакет — все соответствующие классы, такие как Aerospike вводятся в PHP через расширение.

1

Другие решения

Если у вас установлен клиент aerospike, вам не нужно делать require "vendor/autoload.php"; это работает с расширением.

Сначала установите аэроспайк в любой каталог, как документация

git clone https://github.com/aerospike/aerospike-client-php.git
cd src/aerospike
./build.sh

Чтобы установить расширение, запустите внутри src / aerospike:

make install

Создайте файл aerospike.ini в /etc/php/7.0/cli/conf.d с помощью директивы:

extension=aerospike.so
aerospike.udf.lua_system_path=/usr/local/aerospike/lua
aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua

Если вы используете веб-сервер, такой как Apache или Nginx, вам понадобится
чтобы скопировать aerospike.ini в конфигурацию, включите каталог
сервер, затем выполните корректный перезапуск.

⇒  ⇒  ⇒  Verify the Extension  ⇐  ⇐  ⇐
php -m | grep aerospike
1