Я пытаюсь создать нового пользователя XenForo в PHP.
Я использую этот пример кода:
$newusername = "Joseph";
$newpassword = "12345";
$newemail = "[email protected]";
$fileDir = "/home/myfullpath/public_html/members/xenforo";require( $fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
$startTime = microtime(true);
XenForo_Autoloader::initialize($fileDir . '/library', $fileDir);
XenForo_Autoloader::set('page_start_time', $startTime);
// XenForo_Application::disablePhpErrorHandler();
// create new user
$writer = XenForo_DataWriter::create('XenForo_DataWriter_User');
// set all the values
$writer->set('username', $newusername);
$writer->set('email', $newemail);
$writer->setPassword($newpassword, $newpassword);
$writer->set('user_group_id', XenForo_Model_User::$defaultRegisteredGroupId);
// save user
$result = $writer->save();
echo $result;
Проблема в том, что я получаю эту ошибку:
Fatal error: Call to undefined method XenForo_Autoloader::initialize() in /home/myfullpath/public_html/members/signup/create-user.php on line 13
Строка 13:
XenForo_Autoloader::initialize($fileDir . '/library', $fileDir);
Я проверил файл Autoloader.php и не смог найти метод инициализации, поэтому я не сомневаюсь, что говорит мне PHP.
Как вы собираетесь загрузить среду XenForo, чтобы создать нового пользователя? Они обновили это в недавнем обновлении версии или что-то?
Я нашел проблему с кодом …
Я должен ориентироваться на метод XenForo_Application, а не на XenForo_Autoloader …
require( $fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);
XenForo_Application::setDebugMode(true);
XenForo_Application::disablePhpErrorHandler();
Других решений пока нет …