QtWebEngine 填坑

QtWebEngine 填坑,第1张

qputenv("QTWEBENGINE_REMOTE_DEBUGGING", "1112") //使本地可以调试html页面

浏览器输入 localhost:1112 即可

qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls")

这样可以正常显示

connect(this, &QWebEngineViewEx::renderProcessTerminated,

this, &WebEngineViewEx::OnRenderReopen)//捕获renderProcessTerminated信号,在OnRenderReopen中重启render,

qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--single-process")

我也碰到同样的问题了,  最终也是按照不适用putenv(),直接将路径写入$font  = 'C:\Windows\Fonts\DejaVuSansMono.ttf'最后才解决的问题。查了下手册,应该是safe_mode_protected_env_vars设置问题(但是我查了下自己的php.ini没有找到safe_mode_protected_env_vars。我用的是wampserver:PHP5.5.12)。不知道您解决没有?知道的话,麻烦答复一下。

网页链接

putenv

(PHP 4, PHP 5, PHP 7)

putenv — 设置环境变量的值

说明

putenv

   ( string $setting

  ) : bool

添加 setting 到服务器环境变量。

  环境变量仅存活于当前请求期间。

  在请求结束时环境会恢复到初始状态。

设置特定的环境变量也有可能是一个潜在的安全漏洞。   safe_mode_allowed_env_vars 包含了一个以逗号分隔的前缀列表。

  在安全模式下,用户可以仅能修改用该指令设定的前缀名称的指令。

  默认情况下,用户仅能够修改以 PHP_ 开头的环境变量(例如 PHP_FOO=BAR)。

  注意:如果此指令是空的,PHP允许用户设定任意环境变量!

safe_mode_protected_env_vars 指令包含了逗号分隔的环境变量列表,使用户最终无法通过 putenv() 修改。

  即使 safe_mode_allowed_env_vars 设置允许修改,这些变量也会被保护。

putenv在使用的时候,windows和linux环境下并没有什么大的不同,都是给系统传递name=value类型的环境变量。主要区别在2点:

1:linux下putenv只对当前函数有效,windows下是对当前进程有效

2:底层实现不一样,linux下是映射到profile内,windows下是直接映射到注册表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7438458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存