Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

swoole-cli 是否对 try catch 捕获的协程异常做了一些调整,使调用栈的错误信息不在控制台打印出来了? #585

Open
vkviyu opened this issue Apr 1, 2024 · 7 comments

Comments

@vkviyu
Copy link

vkviyu commented Apr 1, 2024

当我使用默认的安装了 swoole 扩展的 php-cli 时,如果协程内产生异常,尽管我使用 try cactch 将其捕获,但是警告信息和调用栈信息会同时输出在控制台;但是当我使用 swoole-cli 时,如果协程内产生异常,我使用 try catch 将其捕获后,警告信息仍然会输出在控制台,但是调用栈的错误信息则不会输出在控制台。以访问数组中不存在的一个键为例:
这是默认的安装了 swoole 扩展的 php-cli :
image
这是 swoole-cli :
image

@jingjingxyk
Copy link
Contributor

jingjingxyk commented Apr 2, 2024

@vkviyu
Copy link
Author

vkviyu commented Apr 2, 2024

这是正常的,因为swoole-cli 做了优化。 swoole-cli 包含了 cli 、fpm 运行模式,详情: https://wenda.swoole.com/detail/108876

一些默认值是做过优化的 https://www.php.net/manual/zh/errorfunc.configuration.php

https://www.php.net/manual/zh/function.debug-print-backtrace.php

打印调用栈函数 https://www.php.net/manual/zh/function.debug-backtrace.php https://www.php.net/manual/zh/function.debug-print-backtrace.php

除了这些输出显示上的优化,其他的一些代码执行上的实际行为,会与安装的 Swoole 扩展的 PHP 有所不同吗?我担心的是我的代码在安装了 Swoole 扩展的 PHP 上的运行结果是否与 swoole-cli 上的运行结果之间仅存在一些显示上的优化。

@jingjingxyk
Copy link
Contributor

这是正常的,因为swoole-cli 做了优化。 swoole-cli 包含了 cli 、fpm 运行模式,详情: https://wenda.swoole.com/detail/108876
一些默认值是做过优化的 https://www.php.net/manual/zh/errorfunc.configuration.php
https://www.php.net/manual/zh/function.debug-print-backtrace.php
打印调用栈函数 https://www.php.net/manual/zh/function.debug-backtrace.php https://www.php.net/manual/zh/function.debug-print-backtrace.php

除了这些输出显示上的优化,其他的一些代码执行上的实际行为,会与安装的 Swoole 扩展的 PHP 有所不同吗?我担心的是我的代码在安装了 Swoole 扩展的 PHP 上的运行结果是否与 swoole-cli 上的运行结果之间仅存在一些显示上的优化。

没有

@vkviyu
Copy link
Author

vkviyu commented Apr 2, 2024

@jingjingxyk
我想问一下,发行版的 5.1.1 swoole-cli 的这个 Opcache 扩展默认是不启用的吗
image
这样打印会输出 false 。

@vkviyu
Copy link
Author

vkviyu commented Apr 2, 2024

@jingjingxyk 我想问一下,发行版的 5.1.1 swoole-cli 的这个 Opcache 扩展默认是不启用的吗 image 这样打印会输出 false 。

@jingjingxyk
我查看了一下 phpinfo() 应该是只打开了 JIT ,所以导致的 opcache_get_status() 返回了 false 。

@jingjingxyk
Copy link
Contributor

@vkviyu 看看这个 opcache_get_configuration() 函数返回值

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants