如何在MS Azure中调试PHP

首先要做的事情是:我被赋予了在Azure上部署Drupal网站的任务.

本地我使用OS X运行Apache,一切正常.当我将项目部署到Azure时,我收到一个错误.经过一些调试后,我将错误隔离到这段代码中:

private function getToken(){
    $ch = curl_init($this->host . $this->clientId . "&client_secret=" . $this->clientSecret);
    curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json',));
    $response = json_decode(curl_exec($ch));
    curl_close($ch);
    $token = $response->access_token;
    dvm($response, $name = NULL);
    return $token;
}

dvm()是一个Drupal Devel函数,但足以说是针对类固醇的Drupal的print_r.

我得到的问题是,无论出于何种原因,$result都会返回NULL.当我在本地机器和Linux / Debian盒子上运行相同的代码时,所有代码都按预期工作(由于卷曲,我得到了一个Object).

这导致了Azure在这代码中不喜欢的结论.问题是找出什么.有任何想法吗?

解决方法:

对于prod环境,display_errors在Azure Web Apps上的PHP运行时中设置.我们可以通过更改内置PHP配置来打开调试设置.

这是一个简单的步骤:

1,将.user.ini文件添加到根目录.

2,使用您在PHP.ini文件中使用的相同语法将配置设置添加到.user.ini文件.根据您的需求,您的.user.ini文件将包含以下文本:

display_errors = On

3,部署您的Web应用程序.

4,重新启动Web应用程序.

您可以阅读official guide获取更多信息.

此外,我们可以登录我们网站的Kudu控制台来管理我们的网站. Kudu控制台的URL应该是:https:// {your_web_site_name}. scm.azurewebsites.net,然后单击工具=>诊断转储以下载诊断日志.

另外,我们可以使用WebMatrix直接修改Azure Web Apps上的代码.

相关文章

Microsoft云包括了Azure、PowerPlatform、Microsoft365、Git...
《WindowsAzurePlatform系列文章目录》 我们在使用AzureAPI...
微软免费使用一年的Azure虚拟机,默认提供了一个64G的磁盘,...
上篇请访问这里做一个能对标阿里云的前端APM工具(上)样本多...
一年一度的MicrosoftBuild终于来了,带来了非常非常多的新技...