XenForo头像上传失败,$ image == false - PHP7

时间:2018-01-15 17:34:43

标签: php php-7 xenforo

我对XenForo 1.5.7 / php7问题感到难过。我已经阅读了tempnam() was changed as of php7(基于临时目录权限),但是我已经按照该链接的状态对目录进行了chmod,但仍无济于事。

我打印出$newTempFile,返回/var/www/forum/internal_data/temp/xfJ9FLyG(看起来正确)。它是下一行$image变量,未设置,然后在下面的if()中抛出错误。

$newTempFile = tempnam(XenForo_Helper_File::getTempDir(), 'xf');
$image = XenForo_Image_Abstract::createFromFile($fileName, $imageType);
if (!$image)
{
    throw new XenForo_Exception(new XenForo_Phrase('image_could_be_processed_try_another_contact_owner'), true);
}

以下是createFromFile()Image\Abstract.php的代码:

/**
 * Creates an image from an existing file.
 *
 * @param string $fileName
 * @param integer $inputType IMAGETYPE_XYZ constant representing image type
 *
 * @return XenForo_Image_Abstract|false
 */
public static function createFromFileDirect($fileName, $inputType)
{
    throw new XenForo_Exception('Must be overridden');
}

...

public static function createFromFile($fileName, $inputType)
{
    $class = self::_getDefaultClassName();
    return call_user_func(array($class, 'createFromFileDirect'), $fileName, $inputType);
}

因为看起来createFromFileDirect()createFromFile()调用,我的想法是会抛出“必须覆盖”错误,但似乎并非如此。

有什么想法吗?

0 个答案:

没有答案