我一直在使用GRAV作为一个小型实验站点的CMS。我最近更新了git-sync插件,突然被一个只产生错误的网站卡住了,没有办法进入管理界面(所有网站访问都会出现同样的错误),无法降级git-sync模块,或者在有修复的情况下升级git-sync插件。
我是一名开发人员,几十年来没有真正考虑过web开发(天哪,它是如何改变的),所以我不得不承认一些事情。我对php一无所知,如果没有必要,我真的不在乎。
我得到的消息(下面)表明这是一个php错误。如果这是一个简单的语法修复,请给我一个提醒。
如果您对使用git-sync插件升级或降级的"cli“方式有任何建议,请恢复git-sync或任何其他提示,建议您离开。我将深入研究更多的文档,看看我是否能回答我自己的问题。
/[pathToUserHome]/grav/user/plugins/git-sync/classes/GitSync.php
*/
$paths = ['.'];
if (version_compare($version, '2.0', '<')) {
$add .= ' --all';
}
return $this->execute($add . ' ' . implode(' ', $paths));
}
public function commit($message = '(Grav GitSync) Automatic Commit')
{
$authorType = $this->getGitConfig('author', 'gituser');
if (defined('GRAV_CLI') && in_array($authorType, ['gravuser', 'gravfull'])) {
$authorType = 'gituser';
}
// get message from config, it any, or stick to the default one
$message = $this->getConfig('git', null)['message'] ?? $message;
// get Page Title and Route from Post
$pageTitle = $_POST['data']['header']['title']??'NO TITLE FOUND';
$pageRoute = $_POST['data']['route']??'NO ROUTE FOUND';
...
Arguments
1) "syntax error, unexpected '?'"
Whoops\Exception\ErrorException…
/user/plugins/git-sync/classes/GitSync.php : 223
$message = $this->getConfig('git', null)['message'] ?? $message;发布于 2019-02-23 22:22:31
你的新版本的GRAV正在使用php7.0的特性,比如?? operator,它就是Null coalescing。尝试升级您的php版本以支持新功能,或降级GRAV。
制作一个兼容的版本也是一种选择,但这可能是一个耗时的想法。但是,如果您的问题仅存在于此特定文件中,则可以替换:
// $message = $this->getConfig('git', null)['message'] ?? $message;
$message = isset($this->getConfig('git', null)['message']) ? $this->getConfig('git', null)['message'] : $message;// $pageTitle = $_POST['data']['header']['title']??'NO TITLE FOUND';
$pageTitle = isset($_POST['data']['header']['title']) ? $_POST['data']['header']['title'] : 'NO TITLE FOUND';// $pageRoute = $_POST['data']['route']??'NO ROUTE FOUND';
$pageRoute = isset($_POST['data']['route']) ? $_POST['data']['route'] : 'NO ROUTE FOUND';https://stackoverflow.com/questions/54842508
复制相似问题