2015-12-07 10 views
5

Il mio amministratore Acl è corrotto e non ho idea del perché, dal momento che non ho cambiato nulla da quando ha funzionato.Errore CakePHP: Classe 'String' non trovata in Acl

Quando vado a /acl, ottengo il seguente errore:

Error: Class 'String' not found File: /app/Plugin/Acl/Controller/Component/AclReflectorComponent.php
Line: 17

public function getPluginName($ctrlName = null) 
{ 
    $arr = String::tokenize($ctrlName, '/'); <----- Line: 17 
    if (count($arr) == 2) { 
     return $arr[0]; 
    } else { 
     return false; 
    } 
} 

Ho controllato che cosa è in $ctrlName e il valore è Acl/Acl.

Sono completamente perso qui, cosa devo fare?

risposta

12

Per rendere CakePHP compatibile con PHP7, la classe String è stata dichiarata deprecata a partire da CakePHP 2.7 a favore della classe CakeText.

È necessario scaricare una versione aggiornata del plug-in Acl.

Se non riesci a trovarne uno, la modifica di tutte le occorrenze di String con CakeText dovrebbe risolvere il problema.

+0

Grazie mille. Ha funzionato! – flaggalagga

+0

Grazie! Stavo usando String nella mia classe personalizzata e ho ricevuto questo errore. Ho sostituito String da CakeText e ora funziona. – matheusvmbruno