0

我正在尝试在 PHP 中创建一个新的 XenForo 用户。

我正在使用这个示例代码:

$newusername = "Joseph";
$newpassword = "12345";
$newemail = "joseph@yahoo.com";

$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 环境以便创建新用户?他们是否在最近的版本更新中对其进行了更新?

4

1 回答 1

1

我发现代码的问题...

我应该针对 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();
于 2014-12-14T09:06:54.550 回答