小编Jus*_*tin的帖子

在Ubuntu 16上升级php7.2后phpMyAdmin错误(计数,河豚等)

php7.2升级后phpMyAdmin错误

在Ubuntu 16.04 LTS上升级到php7.2后,phpMyAdmin在查看表时显示恼人的弹出警告:

"在服务器上检测到一些错误!请查看此窗口的底部.忽略全部.忽略."

在窗口的底部:

" ./libraries/sql.lib.php#601中的警告

count():参数必须是数组或实现Countable的对象"

...后面是一个很长的回溯列表.

在包括和低于4.5.4的各种phpMyAdmin 4.x版本上会出现此问题.

我该如何解决?


更新 - Blowfish错误

升级到最新版本的phpMyAdmin(4.7.9)后,我现在收到一个新错误,显示在每个页面的底部:

"配置文件现在需要一个秘密密码(blowfish_secret)."

我该如何解决?

blowfish phpmyadmin count ubuntu-16.04 php-7.2

7
推荐指数
1
解决办法
4746
查看次数

iOS 和 Safari 11 WebRTC 不收集 STUN/TURN Trickle ICE 候选人

在 iOS 11(iPhone 5s 和 iPhone 7)或桌面上使用 Safari 11 时,我的 Web 应用程序无法通过 CoTURN 服务器收集 WebRTC 中继 ICE 候选对象。Web 应用程序(建立单向音频 WebRTC 对等连接)在真实浏览器(Chrome 和 Firefox)之间直接或通过 CoTURN 中继工作正常,我通常在这些浏览器上获得 6-15 个 ICE 候选者。

我在接收端有一个(坦率地说,不必要的)调用 getUserMedia,它允许 Safari 生成主机 ICE 候选对象。(注意……在 Safari 提供主机 Ice Candidates 之前,用户必须批准音频和/或视频访问,即使是在仅接收端。我已经克服了那个障碍,但只是这样你就不会遇到它。 ..这是出于“隐私”考虑。)。在我添加允许 getUserMedia 之前,我没有收到 ICE。现在我收到了两个候选人。一个使用私有 IPv4,另一个使用 IPv6。这足以让应用程序在同一台机器或本地网络上正常工作。所以我对应用程序代码的其他部分非常有信心。我不确定我的问题是与应用程序代码还是 CoTURN 服务器有关。

收到的 ICE 候选人示例:

{"candidate":{"candidate":"candidate:622522263 1 udp 2113937151 172.27.0.65 56182 typ host generation 0 ufrag r23H network-cost 50","sdpMid":"audio","sdpMLineIndex":0,"usernameFragment":"r23H"}}
Run Code Online (Sandbox Code Playgroud)

我很确定我的 RTCPeerConnection 的 RTCIceServer 字典符合以下标准:

我尝试了多种参数变体:

// For Example:
var …
Run Code Online (Sandbox Code Playgroud)

safari ios webrtc turn coturn

6
推荐指数
0
解决办法
2968
查看次数

HTML5 音频流延迟,强制播放?

如何让 HTML5 音频元素立即开始播放低比特率音频流?

有关问题的现场示例,请访问此网页


问题

我正在将低比特率的 ogg/opus 流式传输到 HTML5 音频元素。除了一个问题外,它运行良好。

在我测试过的两个浏览器(Chrome 和 Firefox)上,浏览器会缓冲直到收到 32 kB 的数据。这可以是音频文件中 20-40 秒的任何位置。

当命中 ~32 kB 时,浏览器将触发loadeddata事件和 a readyStateof 3,紧接着是canplay事件。

示例代码:

<audio id="test" controls="controls" autoplay>
<source src="https://SCRIPT" type="audio/ogg; codecs=opus"/>
</audio>

<script>
var obj = document.getElementById('test');

obj.addEventListener('canplay', function() {
    console.log("Can play event");
});

obj.addEventListener('canplaythrough', function() {
    console.log("can play through event");
});

obj.addEventListener('loadeddata', function() {
    console.log("Loaded data event");
    console.log(obj.readyState);
});
</script>
Run Code Online (Sandbox Code Playgroud)

我尝试“ping”它,.play()但没有成功。

当加入至少一分钟的流时(服务器可以立即提供大量数据),音频基本上立即开始播放。问题是当流是新的(即刚刚创建)并且没有足够的数据来触发看似任意的播放点时,因为应用程序应该是低开销的。

这种延迟水平是不可接受的,坦率地说,这确实令人困惑。为什么与要求更高的流相比,您延迟开销较低的流的时间更长?这与人们认为的常识相反。

我有更复杂的解决方法,但最好使用广泛使用的 HTML5 音频来完成这项工作。 …

html audio audio-streaming html5-audio

5
推荐指数
1
解决办法
1183
查看次数