我已经搜索了此错误的问题,但我对我自己的许多已开始显示此错误的服务器之间可能发生的情况感到困惑:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /var/www/html/file_get.php on line 7
Run Code Online (Sandbox Code Playgroud)
第 7 行是 file_get_contents 命令。
这些是我控制下的(Debian)服务器,所以我知道(据我所知)没有发生/更改或更新/升级。
我知道我可以使用包含以下内容的解决方案,但我很想了解首先发生了什么(加上我有很多很多文件需要更新)。我还真的需要了解哪台服务器存在潜在问题。
我有 3 台服务器,所有这些服务器都通过 file_get_contents 请求访问另一台第四台服务器。其中 2 个服务器突然(今天几个小时前)开始出现上述错误,第三个服务器似乎仍然工作正常。
我怀疑问题出在显示问题的两台服务器上,而不是它们都试图访问的第四台服务器上。
如果我实现这段代码,它会起作用,但我宁愿找到根本原因:
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
Run Code Online (Sandbox Code Playgroud)
并将 file_get_contents 修改为以下内容:
file_get_contents($input, false, stream_context_create($arrContextOptions)));
Run Code Online (Sandbox Code Playgroud)
但正如前面提到的,我有数百个文件需要更改。
所有服务器都是 Debian 并使用 Lets Encrypt 证书 9(这是有效的)。
我尝试将以下内容添加到 php.ini:
openssl.cafile=/etc/letsencrypt/live/myserver.com/cert.pem
Run Code Online (Sandbox Code Playgroud)
但这并没有奏效(同样的错误仍然存在)。
仍然有效的服务器的 openssl 版本是 OpenSSL 1.1.0f 25 May 2017 (库:OpenSSL 1.1.0l 10 Sep 2019),显示错误的两个是 OpenSSL 1.1.0l 10 Sep 2019 不确定这是否相关。 …
我在解决如何在audioPlayer"正在播放"屏幕内的Echo Show上显示图像时遇到问题.
我目前正在播放音频文件,并希望在"正在播放"屏幕上显示图像.我能得到的最接近的是以下代码,它在音频开始之前显示图像和标题,但随后立即消失,Echo Show进入"正在播放"屏幕,没有背景图像,也没有元数据.我觉得我很接近,但是无法理解如何更新"正在播放"屏幕,而不是之前的屏幕.
这是代码的一部分(按上述方式工作):
var handlers = {
'LaunchRequest': function() {
this.emit('PlayStream');
},
'PlayStream': function() {
let builder = new Alexa.templateBuilders.BodyTemplate1Builder();
let template = builder.setTitle('Test Title')
.setBackgroundImage(makeImage('https://link_to_my_image.png'))
.setTextContent(makePlainText('Test Text'))
.build();
this.response.speak('OK.').
audioPlayerPlay(
'REPLACE_ALL',
stream.url,
stream.url,
null,
0)
.renderTemplate(template);
this.emit(':responseReady');
}
Run Code Online (Sandbox Code Playgroud)
我一直在看这个页面https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html但是无法理解如何将该页面上的内容结构转换为我的代码.我假设,从页面上的代码:
{
"type": "AudioPlayer.Play",
"playBehavior": "valid playBehavior value such as ENQUEUE",
"audioItem": {
"stream": {
"url": "https://url-of-the-stream-to-play",
"token": "opaque token representing this stream",
"expectedPreviousToken": "opaque token representing the previous stream",
"offsetInMilliseconds": 0
},
"metadata": {
"title": "title …Run Code Online (Sandbox Code Playgroud) 我开始遇到一个 WebviewFragment 的问题,它在我的 Android 应用程序中打开,该应用程序旨在在 webview 中打开 Facebook 页面,直到最近(不能确切地说何时),这才起作用,但是现在当您单击打开 Web 视图的图标,它在 Web 视图中正确打开 Facebook 页面,但随后立即跳转到 Google 错误页面,其中显示"Webpage not available, the webpage at fb://page/xxxxxxxxx could not be loaded because: net:ERR_UNKNOWN_URL_SCHEME"
webviewFragmentAndroid 应用程序中的代码加载一个包含以下内容的URLmeta-equiv="refresh"到实际 Facebook 页面 URL 的代码。
我确信它webviewFragment工作正常,因为它正确加载其他页面(Twitter 页面)而不会出现此错误。
从fb://链接错误来看,它似乎正在加载 Facebook 页面 URL,然后尝试通过将其转换为内部 Facebook 链接 ( fb://) 来打开 Facebook 应用程序,以告诉它在 FB 应用程序中加载它?
我倾向于尝试解决此问题肯定是在链接中执行某些操作,而不是必须更新应用程序,但我不完全确定发生了什么变化以及发生了什么。
为了澄清这一点,Android 应用程序调用我们网站上的 URL (domain.com/facebok.html),并在该页面中对实际 Facebook 页面 URL 执行元等效刷新。
关于如何解决这个问题有什么想法吗?
更新 :
<uses-permission android:name="android.permission.INTERNET" />肯定在 AndroidManifest.xml 文件中。
Facebook 应用程序安装在设备上,但我们希望它在 WebView …
我正在尝试使用 ECHO 或类似方法通过命令行将以下内容发送到 COM1 串口(我也尝试下载一个名为 serialsend 的小程序,但我坚持如何发送等效的CTRL+ Z。这是发送一个通过西门子 TC35 GAM 模块发送 SMS 消息。作为测试,我可以通过超级终端执行此操作,并且运行良好,但我无法弄清楚如何在末尾发送CTRL+Z以确认消息的正确性。
这就是我所拥有的:
AT
AT+CMGF=1
AT+CMSG="+xxxxxxxxxxx"
HELLO
Run Code Online (Sandbox Code Playgroud)
现在,在 Hello 之后,这是我要发送的消息,我必须发送CTRL+ Z。但不知道怎么做,我试过这个:
AT
AT+CMGF=1
AT+CMSG="+xxxxxxxxxxx"
HELLO
\x1A
Run Code Online (Sandbox Code Playgroud)
正如我读到的那样,这相当于这样做,但它没有奏效。
谁能帮我这个?我找到了解决方案,但它们不是命令行,这正是我所需要的。
我也尝试过使用这种格式:
ECHO AT > COM1:
Run Code Online (Sandbox Code Playgroud)
但由于我不知道如何发送CTRL+Z我不知道它是否有效。
我正在使用 Chart.js 显示一个正常工作的折线图,但我希望 y 轴从 0 开始作为最小值。现在,y 轴从显示的数据中的最小值开始。我希望它总是从零开始显示。
这是我正在使用的代码(whcih 有效,除了不在 y 轴上从 0 开始)。
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url : "Get data from here",
type : "GET",
success : function(data){
console.log(data);
var userid = [];
var viewers = [];
for(var i in data) {
userid.push(data[i].date_time);
viewers.push(data[i].viewers);
}
var chartdata =
{
labels: userid,
datasets:
[
{
label: "Viewers for <?php echo $month . " - " . $year; ?>",
fill: false,
lineTension: 0.1,
backgroundColor: "rgba(59, 89, 152, 0.75)",
borderColor: "rgba(59, …Run Code Online (Sandbox Code Playgroud) 我被困在这一个......
我有一个播放音乐的网站.页面自动更新以显示正在播放的当前歌曲和艺术家的图像.该网站还允许访问者请求歌曲.我想要做的是允许用户在Facebook上分享他们的请求,所以我在下面添加了代码.
最初,当您按下Facebook按钮时,它会弹出一个包含所有正确信息(歌曲,艺术家,图像等)的框,但不会正确发布到Facebook(动态信息,如标题和图像将是失踪).现在,最近,它甚至没有正确填充弹出窗口.
我被困住了,无法弄清楚如何让它正常工作,任何人都可以帮助我吗?
谢谢.
<a class="facebook" target="_blank" onclick="return !window.open(this.href, 'Facebook', 'width=640,height=300')" href="http://www.facebook.com/sharer.php?s=100&p[title]=I'm listening to <?php echo $currentSong->title . ' by ' . $currentSong->artist; ?>&p[summary]=Join me and listen right now or request your own song&p[url]=http://www.mydomain.com&p[images[0]=<?php echo $largeimg; ?>"><img src="http://www.mydomain.com/new/images/facebook.png" width="32" height="32" border="0" style="padding-top:5px; padding-right:4px "></a>
Run Code Online (Sandbox Code Playgroud) 请原谅一个看起来很简单的问题,可能对PHP / sleep()的工作方式缺乏了解,但是我对以下代码有所了解:
<?php
$time_now = time();
echo "Time Now : " . $time_now;
sleep(10);
$time_then = time();
echo "<br>Time Then : " . $time_then;
?>
Run Code Online (Sandbox Code Playgroud)
我期望此代码输出当前时间,然后等待10秒,然后在10秒后输出时间。
而是等待设置的10秒,并同时输出两个时间。时间是正确的,因为“ Time Now”是我执行代码的时间,而“ Time Then”是10秒后的时间,但是它没有响应我的预期(输出Time Now,等待10秒,然后继续执行代码并显示“时间到了”)。
鉴于我的理解显然是错误的,是否有可能实现这一目标?还是我最好触发另一个文件来加载我想做的事情,如下所示:
文件1
<?php
$time_now = time();
echo "Time Now : " . $time_now;
header('Location: page2.php');
?>
Run Code Online (Sandbox Code Playgroud)
文件2
<?php
sleep(10);
$time_then = time();
echo "<br>Time Then : " . $time_then;
?>
Run Code Online (Sandbox Code Playgroud)
谢谢。
我使用 apache 作为代理服务器来接受一个端口上的传入请求,并将它们重定向到另一个帖子上的目标(基于传入端口),作为 VirtualHost 条目的示例:
<VirtualHost *:444>
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ServerAlias mydomain.com
ProxyPass / http://destination_IP:6444/
ProxyPassReverse / http://destination_IP:6444/
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我的问题是,当请求到达目标服务器时,它显示的是我的公共 IP 地址(apache 代理服务器的 IP 地址),而不是原始客户端 IP 地址。
我试图让mod_remoteip与a2enmod remoteip,并添加以下到apache2.conf文件:
LoadModule remoteip_module modules/mod_remoteip.so
Run Code Online (Sandbox Code Playgroud)
但是我没有将客户端 IP 地址转发到目标服务器,它仍然显示为我自己的(代理服务器公共 IP 地址)。
我无法修改目标服务器上的任何内容,因此我需要在自己的代理服务器上进行解析。
在这种情况下如何传递客户端 IP 地址?
谢谢你。
facebook ×2
php ×2
alexa-skill ×1
android ×1
apache ×1
chart.js ×1
command-line ×1
ctrl ×1
dynamic ×1
javascript ×1
openssl ×1
proxy ×1
serial-port ×1
sleep ×1