2016-02-25 192 views
1

餘米嘗試加載塞PHP API類,但遇到錯誤致命錯誤:類「塞式」未找到

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); 

我在做作曲家安裝和作曲家更新什麼錯了?如果你需要更多的文件來顯示告訴我。

+0

您可能需要引用類的完整名稱空間。 – phaberest

+0

Aerospike告訴:http://www.aerospike.com/docs/client/php/ – rad11

+0

我想你使用作曲家安裝它,你是否執行其他命令? – phaberest

回答

1

爲了使用PHP的Aerospike API客戶端,您必須能夠編譯C代碼並在您的服務器上安裝已編譯的擴展。

這需要額外的安裝軟件包,而不是讓機器編譯東西,它超出了Composer的範圍來提供任何這些東西。

所以這個包看起來很無辜,但它並不是真正的PHP Composer包。你不能像任何其他軟件包一樣使用它 - 所有相關的類如Aerospike都通過擴展注入到PHP中。

1

如果你已經安裝aerospike客戶端,你不必做require "vendor/autoload.php";它與擴展一起工作。

首先在任何目錄中安裝塞作爲documentation

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

要安裝的src /塞內運行的擴展:

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的Web服務器,您需要 將aerospike.ini複製到 服務器的配置包含目錄,然後發出正常重啓。

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