为了抢先将此标记为重复问题,请理解我对PHP 编码/语法的经验为零,并且我正在努力对我的具体问题应用一般答案。我想我已经弄清楚问题出在哪里,但我什至不是 100% 的,所以我正在寻求可以帮助指导我解决这个问题的人的帮助。
我们正在向 Simple Machines 论坛安装掷骰子模组。第一次安装很顺利,没有问题。我们想改变一些模组的格式,所以我们卸载了它,改变了文件,然后重新安装了它。重新安装后,发布新主题或进行回复会导致 . 当我们禁用该模块时,我们可以像往常一样回复和发布新主题。
经过一番搜寻,我们在错误日志中发现了这一点;
http://irate-pirate.org/forums/index.php?action=admin;area=packages;get;sa=browse;server=1;relative=posting
8: Undefined offset: 1
File: /home4/iratepir/public_html/forums/Sources/Subs-Package.php
Line: 1503
我们找到了 Subs-Package.php 文件,下面是周围的代码:
1501 // Build an array of parts.
1502 $versions[$id] = array(
1503 'major' => (int) $parts[1],
1504 'minor' => !empty($parts[2]) ? (int) $parts[2] : 0,
1505 'patch' => !empty($parts[3]) ? (int) $parts[3] : 0,
1506 'type' => empty($parts[4]) ? 'stable' : $parts[4],
1507 'type_major' => !empty($parts[6]) ? (int) $parts[5] : 0,
1508 'type_minor' => !empty($parts[6]) ? (int) $parts[6] : 0,
1509 'dev' => !empty($parts[7]),
1510 );
1511 }
所以,看了这篇文章后,我认为(???)需要补充:
//isset()
$value = isset($array['my_index']) ? $array['my_index'] : '';
//array_key_exists()
$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';
到我在 Subs-Package.php 文件中找到的代码。我猜我在发现错误的行之前添加了这个。
我也猜测其中一些变量需要更改以匹配我们代码中的部分,但我不知道哪些变量。
任何帮助都会非常棒,我希望我已经提供了足够的信息!