2016-03-29 28 views
3

Bu istek yanlış bölgede bulunuyorsa üzgünüz.PHP Cpanel_PublicAPI Hesap oluştur Hatalı değişkenleri aktarma

PHP ve CPanel API'sini kullanmayı öğreniyorum. Aşağıdaki kodu var ve ben WHM bağlanırken biliyorum

$domain = array('username' => 'bobbie', 'domain' => 'bobbie.com', 'pass' => 'bobbie123'); 
    $acct = $cp->whm_api('createacct', $domain); 
    echo "WHM Create: {$acct->createacct}\n"; 

görünüşte basit bir şey eksik çünkü düzgün bundan önce benim kodu doğru WHM sürümü çıkışı çünkü bana bir yığın hatası veriyor. Yukarıdaki kod bana bu createacct belirten bir hata veriyor ilk parametre olarak bir dizi geçirilmesi gerekiyor:

WHM Version: 11.54.0.21 
PHP Fatal error: Uncaught exception 'Exception' with message 'createacct requires that first parameter passed to it is an array' in /root/whmrm/Cpanel/Service/XmlapiClientClass.php:146 
Stack trace: 
#0 [internal function]: Cpanel_Service_XmlapiClientClass->createacct('bobbie', 'bobbie.com', 'bobbie123') 
#1 /root/whmrm/Cpanel/Service/WHM.php(195): call_user_func_array(Array, Array) 
#2 [internal function]: Cpanel_Service_WHM->__call('createacct', Array) 
#3 [internal function]: Cpanel_Service_WHM->createacct('bobbie', 'bobbie.com', 'bobbie123') 
#4 /root/whmrm/Cpanel/PublicAPI.php(525): call_user_func_array(Array, Array) 
#5 /root/whmrm/create_sites_on_server.php(68): Cpanel_PublicAPI->__call('whm_api', Array) 
#6 /root/whmrm/create_sites_on_server.php(68): Cpanel_PublicAPI->whm_api('createacct', Array) 
#7 {main} 
    thrown in /root/whmrm/Cpanel/Service/XmlapiClientClass.php on line 146 

Hat çıkışı 3 düzgün veri göndermeyi değilim gösteriyor. Herhangi bir yardım takdir edilecektir. Ben googled ve sonuçların çoğu bana xml_api hakkında bilgi verir ve nasıl kullanılır. Yardımınız için teşekkürler.

cevap

2

PublicAPI sınıfının kaynağına bakarak, bir dizi parametreler olarak verilirse, yalnızca ilk öğeyi diziden (source) geçirerek sonuç işlevini çağırır.

Bir bu kodu kullanarak hesap oluşturmak başardı:

$cp = Cpanel_PublicAPI::getInstance($config); 

$whm = Cpanel_PublicAPI::factory('whm'); 

$domain = array(
    'domain' => 'mydomain.com', 
    'username' => 'drewt2', 
    'password' => 'myp4ssw0rd!' 
); 
$response = $whm->createacct($domain); 

Sen fonksiyonlarını görebilir ve burada orada parametreleri: Cpanel_Service_XmlapiClientClass.

Ne yazık ki, kod 5 yıl içinde güncelleştirilmemiştir ve examples bu kadar yararlı değildir, bu nedenle muhtemelen yapmak istediğiniz şeylerin çoğunu bulmak için kodu gözden geçirmeniz gerekecektir.

+0

Çok teşekkür ederim! Bu kod tam olarak benim için çalıştı. $ Whm = satırının sonuna bir yarı kolon eklemem gerekiyordu, ama bunun dışında çalıştı! – Bobbie

İlgili konular