Laravel dd辅助函数返回错误500

时间:2019-02-22 09:32:46

标签: php laravel helper-functions

我想dd('string'),但它返回错误500。我的error_log是:

strpos(): Empty needle {"exception":"[object] (ErrorException(code: 0): strpos(): Empty needle at /vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php:101)

dddump不起作用,其他帮助程序功能无效。它在本地运行正常,但是当我将其上传到服务器后,它不再可用了,我想问题可能出在php-fpm上,也许是link提到的那个堆栈。

我如何找出问题出在哪里?

1 个答案:

答案 0 :(得分:1)

看起来像是第Symfony's VarDumper component 行中第101行附近/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php中的错误,请替换

    if (null !== $this->projectDir) {
        $context['project_dir'] = $this->projectDir;
        if (0 === strpos($file, $this->projectDir)) {
            $context['file_relative'] = ltrim(substr($file, \strlen($this->projectDir)), \DIRECTORY_SEPARATOR);
        }
    }

使用

    if (isset($this->projectDir) && is_string($this->projectDir) && strlen($this->projectDir) > 0) {
        $context['project_dir'] = $this->projectDir;
        if (0 === strpos($file, $this->projectDir)) {
            $context['file_relative'] = ltrim(substr($file, \strlen($this->projectDir)), \DIRECTORY_SEPARATOR);
        }
    }

应该修复它。

还应该有人提交错误报告,以使其在上游得到修复。