如何在 MS Azure 中调试 PHP
How to debug PHP in MS Azure
首先要做的事情是:我的任务是在 Azure 上部署 Drupal 网站。
我在本地使用 OS X 运行ning 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 不喜欢这段代码中的某些内容。问题是找出什么。有什么想法吗?
对于生产环境,display_errors
在 Azure Web 应用程序的 PHP 运行时中设置 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 上的代码。
首先要做的事情是:我的任务是在 Azure 上部署 Drupal 网站。
我在本地使用 OS X 运行ning 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 不喜欢这段代码中的某些内容。问题是找出什么。有什么想法吗?
对于生产环境,display_errors
在 Azure Web 应用程序的 PHP 运行时中设置 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 上的代码。