2017-09-08 9 views
0

Ich benutze a2billing-Anwendung, in Asterisk integriert. Beim Versuch, eine DID über die Admin-Weboberfläche hinzuzufügen, erhalte ich eine Fehlermeldung auf der Seite: "Ihre neue did wurde nicht eingefügt."Nicht-statische Methode Konstanten :: getActivationList() sollte nicht statisch aufgerufen werden

Im httpd/error_log es wird gesagt: PHP strenge Standards: Nicht-statische Methode Konstanten :: getActivationList() sollte nicht statisch in/var/www/html/A2Billing/admin/Public/form_data/FG_var_did aufgerufen werden. inc auf der Leitung 52, referer: http://XXXXXXXXXXX/a2billing/admin/Public/A2B_entity_did.php?form_action=ask-add&section=8

der Code auf der Leitung 52 der Datei "FG_var_did.inc": $ actived_list = Constants :: getActivationList();

Die PHP-Version Ich verwende ist: PHP 5.4.16 (cli) (gebaut: 6. November 2016 00.29.02) Copyright (c) 1997-2013 Die PHP Group Zend Engine v2.4.0 , Copyright (c) 1998-2013 Zend Technologies

Ich habe bereits "~ E_STRICT" in php.ini deaktiviert.

Wer hat irgendwelche Ideen, wie man das löst?

Danke!

Antwort

2

Ich habe keine Ahnung über die Anwendung, die Sie verwenden, aber wenn die Methode nicht statisch ist, sollten Sie zunächst das Objekt initialisieren und rufen Sie die Methode:

$var = new ClassNmae(); 
$var->method(); 

statt ClassNmae::method()

Oder in Kurz können Sie als (new ClassName)->method(); verwenden

+0

Vielen Dank für diesen Blick. Ich hatte gehofft, es mit einer PHP-Konfigurationseinstellung zu beheben, ich bevorzuge es, den Code nicht zu berühren, da ich erwarte, dass es mehr Methoden gibt, die statisch anderswo in der Quelle aufgerufen werden. – Jompie

Verwandte Themen