各位大佬,宝塔环境,我原本使用php7.4版本,刚刚升级了8.2版本后,重启了webman,为什么部分进程的数量变为以前的2倍了,我的服务器是2核的,我发现只要进程数是这样配置的,'count'=> cpu_count()*2,那么最后的进程数就为以前的2倍,如果'count'=> 4这样写,那么进程数是正常的,我已经卸载php7.4版本,多次重启了,还是无效,是怎么回事呢
这个问题其实很简单,就是你更换了 PHP 版本,然后宝塔的 PHP.INI 配置文件中的 shell_exec 函数没有启用,cpu_count 函数是 webman 中的,而不是PHP自带的,你点进去看看源代码实现就知道了,里面用到了 shell_exec 函数。 宝塔直接在后台修改 PHP 配置文件,会自动同步到 PHP-CLI.INI 中,但是有一些函数在 PHP-FPM 环境中比较危险,部署 workerman/webman 最好用独立的 PHP版本,用静态的也行。
PHP
PHP.INI
shell_exec
cpu_count
webman
PHP-CLI.INI
PHP-FPM
workerman/webman
果然是的,一直在关注2倍问题,以为是2个php版本或者其他配置什么原因导致的,没想到是禁用函数导致的cpu_count()问题。 谢谢大佬!
这个问题其实很简单,就是你更换了
PHP
版本,然后宝塔的PHP.INI
配置文件中的shell_exec
函数没有启用,cpu_count
函数是webman
中的,而不是PHP
自带的,你点进去看看源代码实现就知道了,里面用到了shell_exec
函数。宝塔直接在后台修改
PHP
配置文件,会自动同步到PHP-CLI.INI
中,但是有一些函数在PHP-FPM
环境中比较危险,部署workerman/webman
最好用独立的PHP
版本,用静态的也行。果然是的,一直在关注2倍问题,以为是2个php版本或者其他配置什么原因导致的,没想到是禁用函数导致的cpu_count()问题。
谢谢大佬!