编程语言
首页 > 编程语言> > 如何在MS Azure中调试PHP

如何在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上的代码.

标签:php,azure,drupal,drupal-7
来源: https://codeday.me/bug/20191003/1849998.html