Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从运行PHP的应用程序服务调用Azure表存储时出现cURL错误60_Php_Azure_Ssl_Curl - Fatal编程技术网

从运行PHP的应用程序服务调用Azure表存储时出现cURL错误60

从运行PHP的应用程序服务调用Azure表存储时出现cURL错误60,php,azure,ssl,curl,Php,Azure,Ssl,Curl,我正在使用此SDK: 这个插件: 为运行在Azure应用程序服务中的基于PHP的Wordpress站点处理Azure表存储中的会话 从最后一个链接运行代码时,出现以下错误: cURL错误60:SSL证书问题:无法获取本地颁发者 证书(见) 我没有直接使用cURL,我只是通过azure sdk for php中的代码使用它,我无法更改该代码 那么,我如何确定哪个证书是问题所在,然后在全局范围内对其进行定义以使其正常工作呢 我之前已经试过运行这段代码,它不会抛出异常,但也没有任何区别。我不知道我

我正在使用此SDK:

这个插件:

为运行在Azure应用程序服务中的基于PHP的Wordpress站点处理Azure表存储中的会话

从最后一个链接运行代码时,出现以下错误:

cURL错误60:SSL证书问题:无法获取本地颁发者 证书(见)

我没有直接使用cURL,我只是通过azure sdk for php中的代码使用它,我无法更改该代码

那么,我如何确定哪个证书是问题所在,然后在全局范围内对其进行定义以使其正常工作呢

我之前已经试过运行这段代码,它不会抛出异常,但也没有任何区别。我不知道我是否使用了正确的.pem,或者这是否会影响cURL全局

curl_setopt($process, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, true);
我找到了解决办法:

(尽管我在这些步骤中大部分都使用FTP)

  • 在portal.azure.com中打开web应用程序
  • 转到应用程序设置并在应用程序设置部分添加此值:PHP\u INI\u SCAN\u DIR=d:\home\site\INI
  • 打开web应用的scm面板,例如-
  • 转到调试控制台>CMD
  • 打开“站点”文件夹
  • 上传“cacert.pem”文件(从此处下载:)
  • 创建/打开“ini”文件夹
  • 创建/打开名为“settings.ini”的文件
  • 将这一行放在文件中:curl.cainfo=“D:\home\site\cacert.pem”
  • 返回portal.azure.com中的应用程序,然后停止,然后启动
  • 我找到了解决办法:

    (尽管我在这些步骤中大部分都使用FTP)

  • 在portal.azure.com中打开web应用程序
  • 转到应用程序设置并在应用程序设置部分添加此值:PHP\u INI\u SCAN\u DIR=d:\home\site\INI
  • 打开web应用的scm面板,例如-
  • 转到调试控制台>CMD
  • 打开“站点”文件夹
  • 上传“cacert.pem”文件(从此处下载:)
  • 创建/打开“ini”文件夹
  • 创建/打开名为“settings.ini”的文件
  • 将这一行放在文件中:curl.cainfo=“D:\home\site\cacert.pem”
  • 返回到portal.azure.com中的应用程序,停止,然后启动

  • 令人惊叹的!你能把它标记为一个答案,让其他人从中受益吗?谢谢,我现在已经把它标记为答案了。我想马上做,但我不允许回答我自己的问题,并且在没有宽限期的情况下将其标记为答案。太棒了!你能把它标记为一个答案,让其他人从中受益吗?谢谢,我已经把它标记为答案了。我想马上做,但我不允许回答我自己的问题,并在没有宽限期的情况下将其标记为答案。