首先要做的事情是:我被赋予了在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框上运行相同的代码时,所有代码都按预期工作(我得到了curl
的结果。
这导致结论Azure不喜欢这段代码。问题是找出什么。有什么想法吗?
答案 0 :(得分:0)
对于prod环境,在Azure Web Apps上的PHP运行时中display_errors
设置为off
。我们可以通过更改内置PHP配置来打开调试设置。
以下是简单的步骤:
1,将.user.ini
文件添加到根目录。
2,使用您在php.ini
文件中使用的相同语法将配置设置添加到.user.ini文件。根据您的要求,您的.user.ini
文件将包含以下文字:
display_errors = On
3,部署您的网络应用。
4,重新启动网络应用。
您可以阅读official guide了解详情。
此外,我们可以登录我们网站的Kudu控制台来管理我们的网站。 Kudu控制台的URL应该是:https://{your_web_site_name}. scm.azurewebsites.net
,然后点击Tools
=> Diagnostic dump
下载诊断日志。
另外,我们可以使用WebMatrix直接修改Azure Web Apps上的代码。