为什么我的 twilio Web 应用程序在 XAMPP 中工作,但在 AZURE 中不起作用


Why does my twilio web application work in XAMPP but not in AZURE

我在php中创建了一个应用程序,该应用程序使用twilio api向人们发送文本。它在XAMPP中完美运行,但php代码无法在Azure中运行。每次我调用它时,我都会收到一条错误消息,指出"无法加载资源:服务器响应状态为 500(内部服务器错误)"。

有没有办法解决这个问题,而不必创建自己的虚拟服务器?

通常,当我们得到 500 响应时,这意味着我们在服务器脚本上收到一些错误。我们可以在 Azure Web 应用的 PHP 运行时中设置display_errors=On,以便轻松进行故障排除。有关详细信息,请参阅 https://azure.microsoft.com/en-in/documentation/articles/web-sites-php-configure/#how-to-change-the-built-in-php-configurations。

你可以检查 Azure Web 应用上的应用程序是否已成功安装 twilio 库。可以利用composercomposer.json 中配置 sdk,然后通过 Git 将应用程序部署到 Azure 时,Azure 服务将在部署任务期间自动composer.json文件中安装依赖项。可以利用require 'vendor/autoload.php'加载所有依赖项。

测试过程中,我第一次收到以下错误: Fatal error: Uncaught exception Services_Twilio_TinyHttpException with message SSL certificate problem...

所以这也可能是你这边的问题,你可以在 Azure Web 应用上的 PHP 中添加证书,有关详细步骤,请参阅 https://blogs.msdn.microsoft.com/azureossds/2015/06/12/verify-peer-certificate-from-php-curl-for-azure-apps/。

否则,您只需在 twilio lib 中编辑TinyHttp.php

在数组$opts添加 CURLOPT_SSL_VERIFYPEER => FALSE。

有关同一问题,请参阅 Twilio PHP - SSL 证书:证书链中的自签名证书。

他们有很多可能性:

    您的
  1. Azure在ISS服务器中运行PHP,然后您需要将.htaccess文件转换为web.config,很简单,只需转到IIS中的网站并在导入.htaccess文件时,IIS将在web.config中转换您的.htaccess

  2. 您正在运行的文件夹的权限

  3. PHP 版本
  4. ,在 xampp 上检查您的 PHP 版本,并与 Azure 上的 PHP 版本进行比较。你的代码可以在你的PHP Xampp中兼容,但在PHP Azure中不兼容。

  5. 扩展
  6. PHP,有可能你的xampp有PHP的扩展,使你的Azure不启用,如file_info,等等......