phpstudy 不支持 Laravel6.x 的报错吗?

laravel 的 debug 等都已经开启,页面还是不会显示报错信息,只会显示 500 信息。

phpstudy不支持Laravel6.x的报错吗?

只能从 laravel 的 log 日志中查看。

phpstudy不支持Laravel6.x的报错吗?
是 phpstudy 不支持 laravel 这么高级别的报错吗?这个有点疑惑

Reality
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 9

是滴 请用 php artisan serve

4年前 评论

不会不支持啊,你的 laravel 项目是不是需要什么扩展没安装,不过个人建议 Windows 下开发用 docker 或者 homestead,更加灵活一些~

4年前 评论

phpstudy :joy:

4年前 评论
飞飞鱼 (楼主) 4年前

自己查下 exception handler 呗,或者 config clear 下。这关 phpstudy 啥事,锅能甩到它头上我是没想到的。。

4年前 评论
飞飞鱼 (楼主) 4年前
飞飞鱼 (楼主) 4年前
jk_frustrate (作者) 4年前
飞飞鱼 (楼主) 4年前

加在 public/index.php 最上面

error_reporting(E_ALL); //E_ALL
function cache_shutdown_error() {

    $_error = error_get_last();

    if ($_error && in_array($_error['type'], array(1, 4, 16, 64, 256, 4096, E_ALL))) {

        echo '<font color=red>你的代码出错了:</font></br>';
        echo '致命错误:' . $_error['message'] . '</br>';
        echo '文件:' . $_error['file'] . '</br>';
        echo '在第' . $_error['line'] . '行</br>';
    }
}

register_shutdown_function("cache_shutdown_error");
4年前 评论

修改你的 PHP 配置:

error_reporting = E_ALL
display_errors = On
display_startup_errors = On

然后重启 Apache 或者 php-fpm.

如果是 Nginx 配置,注意如下配置:

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        # 把上面这三行给注释掉。最后重启nginx

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
4年前 评论
飞飞鱼 (楼主) 4年前

PHP7.2.1 Laravel 6.18.22 抛出异常, PHP 进程就奔溃

用 laravel 开了一个新项目,发现在本地只要代码抛出异常,php 进程就会奔溃,会弹出一个弹窗。

CGI / FastCGI 已停止工作

通过断点调试,定位到这一行

vendor/symfony/process/Process.php : 1633

    private function getDefaultEnv(): array
    {
        $env = [];

        foreach ($_SERVER as $k => $v) {
            if (\is_string($v) && false !== $v = getenv($k)) {
                $env[$k] = $v;
            }
        }

        foreach ($_ENV as $k => $v) {
            if (\is_string($v)) {
                $env[$k] = $v;
            }
        }

        return $env;
    }

发现只要执行这个,PHP 进程就会奔溃

getenv('HTTP_CONTENT_LENGTH');

然后百度了一下,发现了这个。

blog.csdn.net/smile12393/article/d...

原来在 windows 7 下面 php7.1.13 和 7.2.10 有此问题,更换版本即可。
另一个方法是自定义 Laravel 错误处理,也能避开这个问题。

4年前 评论

是不是开了高科技软件的全局模式

4年前 评论

你把 phpstudy 更新成小皮就行了,估计是 PHP 版本问题

4年前 评论