【发布时间】:2020-02-27 20:55:35
【问题描述】:
我已经在我的 VPS 上安装了当前版本的 directus(Debian 10、PHP 7.3、Apache 2.4.38)。
运行基于浏览器的安装时,/logs 中出现错误提示:
[2020-02-27 20:31:59] api[].ERROR: ParseError: 语法错误,意外的“?”,预期 /var/www/clients/client0/web16/web/ 中的变量 (T_VARIABLE)供应商/symfony/translation-contracts/TranslatorTrait.php:44
对我来说,这听起来像是一个错误的 PHP 版本,但 PHP 7.3 正在运行。
我不知道这是否重要,但是忽略这个之后,在你输入数据库连接参数的页面上,POST到/server/projects返回错误500“Internal Server Error”。
我找不到任何日志条目。
- 如何找到 500 的原因?
- 是否可以在不安装基于浏览器的情况下配置应用程序?
编辑
从master切换回v8.5.5,在这个源代码中,有一个trans函数:
/**
* {@inheritdoc}
*/
public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null): string
{
if (null === $id || '' === $id) {
return '';
}
if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) {
return strtr($id, $parameters);
}
所以确实有一个类型?string。
我的 PHP 版本应该能够处理这个问题,IMO。但在此之前,我有 Debian 9 和 PHP 7.0,我遇到了同样的问题,这就是将 Debian 从 9 升级到 10 的原因。
Debian 9 的编译缓存是否仍然存在?
但我想这不是主要问题。我的问题是我收到一个错误 500,除了 apache error.log 中的 500-log-entry 之外,我看不到任何东西来诊断这个问题。
【问题讨论】: