请求帮助修复php脚本错误

i got this unexpected error after site builder set up. Since I'm not familiar with CSS or PHP scripts, I'm not able to see the error which should be on line 8 and line 19 (according to the 500 error code).

There was no closing line (?>) at the end of the script, which is now added by me. Can you plese help me to fix other errors? thank you in advance for your help

<?php
/**
 * @see       https://github.com/zendframework/zend-diactoros for the canonical source repository
 * @copyright Copyright (c) 2018 Zend Technologies USA Inc. (https://www.zend.com)
 * @license   https://github.com/zendframework/zend-diactoros/blob/master/LICENSE.md New BSD License
 */

declare(strict_types=1); // Error highlighted issue with this line.

namespace Zend\Diactoros;

/**
 * Create an uploaded file instance from an array of values.
 *
 * @param array $spec A single $_FILES entry.
 * @throws Exception\InvalidArgumentException if one or more of the tmp_name,
 *     size, or error keys are missing from $spec.
 */
function createUploadedFile(array $spec) : UploadedFile // Error highlighted issue with this line.
{
    if (! isset($spec['tmp_name'])
        || ! isset($spec['size'])
        || ! isset($spec['error'])
    ) {
        throw new Exception\InvalidArgumentException(sprintf(
            '$spec provided to %s MUST contain each of the keys "tmp_name",'
            . ' "size", and "error"; one or more were missing',
            __FUNCTION__
        ));
    }

    return new UploadedFile(
        $spec['tmp_name'],
        $spec['size'],
        $spec['error'],
        isset($spec['name']) ? $spec['name'] : null,
        isset($spec['type']) ? $spec['type'] : null
    );
}
?>
doushi1964
doushi1964 您使用的是哪个php版本?声明(strict_types=1);事情只适用于7岁及以上,我相信。尝试删除该行。(去除它是无害的)
10 个月之前 回复
dongqu2863
dongqu2863 filezilla是一个ftp客户端,您可以使用它将文件从服务器获取到您的计算机,反之亦然
10 个月之前 回复
dqs13465424392
dqs13465424392 我的php文件夹是空的,所以我找不到任何.ini文件。有人建议文件齐拉的另一个问题。有人熟悉这个编辑吗?
10 个月之前 回复
dp518158
dp518158 谢谢你的链接。在找出问题所在之前,我会仔细检查所有链接。因为我没有知识,所以我真的怀疑我可以在没有帮助的情况下找到并修复错误
10 个月之前 回复
dongliang1223
dongliang1223 参考的可能重复-这个错误在PHP中意味着什么?
10 个月之前 回复
duanjia7912
duanjia7912 我试图找到它。
10 个月之前 回复
dsdfd2322
dsdfd2322 我在public_html文件夹中找到了一个错误日志文件mediafire.com/file/c0i8km65pnaekzu/error_log/file
10 个月之前 回复
dpnfjx755573
dpnfjx755573 可能重复如何显示PHP错误?
10 个月之前 回复
douxi5940
douxi5940 我在这里只找到了这个imgur.com/rIcB1Wm
10 个月之前 回复
drlndkhib08556095
drlndkhib08556095 错误日志文件夹为空。看到这里imgur.com/a/NbvTmqD
10 个月之前 回复
doudou7361
doudou7361 500错误是一般错误消息,几乎涵盖了脚本可能出错的每一件事。检查服务器错误日志以找出确切的错误消息。
10 个月之前 回复
dongta1824
dongta1824 您的托管服务提供商可能会让您访问错误日志。你可以检查它们并编辑你在那里发现的错误的问题吗?
10 个月之前 回复
dousuie2222
dousuie2222 我收到500错误消息。你可以在这里看到eligodesign.com
10 个月之前 回复
drfm55597
drfm55597 但是问题是什么?如果没有您收到的确切错误消息,我们无法告诉您哪里出错了。
10 个月之前 回复
douwen3362
douwen3362 嗨,谢谢你的回复。我购买了一个提供免费RVsitebuilder7的托管计划。RV设置后发生错误,所以我无法编辑或修复网站,直到我在文件管理器中修复问题rvsitebuildercmssrc/functions/create_uploaded_file.php
10 个月之前 回复
dsk95913
dsk95913 在<?php标签:phpinfo();之后将其添加到脚本的顶部它应该告诉你正在运行的PHP版本。
10 个月之前 回复
dongpu1315
dongpu1315 你收到了什么错误?并不总是需要?>,因此不是实际错误。你正在运行什么版本的PHP?返回类型声明,例如函数createUploadedFile(array$spec):UploadedFile,仅在PHP7中可用
10 个月之前 回复

1个回答

Given the errors are about the only lines that consist of php7+ only code, the problem is likely an outdated version of php.

There are two solutions: the better solution is to upgrade your php version to 7.2; ask your hosting provider if they're able to accommodate you in that regard.

Your other option is probably faster: simply remove the php7 code. The problem is about these parts:

declare(strict_types=1);

And

(...) : UploadedFile

Both of these can be removed without consequence.

In short: Remove line 8, and replace line 19 with:

function createUploadedFile(array $spec)

Edit:

To do it really well, you might consider adding this:

 * @return UploadedFile

Right between the lines with @param and @throws. It's the php5.x alternative for : UploadedFile.

PS: The ?> thing is supposed to be missing. Having it still works in most cases, but taking it out again is the better way.

dps43633
dps43633 看起来这个站点构建器需要php 7.1或更高版本 - 这是有道理的,因为这是目前支持的最小版本。 在你已经展示的脚本中,我没有看到其他特定于php7的代码,但很可能这些不匹配也会在其他地方发生。 你可以全力以赴,但升级php版本绝对是你最好的选择。
10 个月之前 回复
douyan8961
douyan8961 你好,试图改变剧本。 它不会工作。 我必须等到主持人完成RVsitebuilder更新。 无论如何,谢谢你花时间帮助我:)
10 个月之前 回复
douyi1939
douyi1939 非常感谢你的回答和指示。 我联系了我的托管服务提供商。 他们告诉我他们现在正在对RVsitebuilder7进行更新。 我猜它是PHP版本7.我将尝试根据您的指示更改脚本,并让您知道它是否有效。
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐