簡體   English   中英

如何在MS Azure中調試PHP

[英]How to debug PHP in MS Azure

首先,我要做的任務是在Azure上部署Drupal網站。

我在本地使用運行Apache的OS X,一切正常。 將項目部署到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導致獲得了Object)。

由此得出結論,Azure不喜歡這段代碼。 問題是找出原因。 有任何想法嗎?

對於生產環境,在Azure Web Apps的PHP運行時中會off display_errors 我們可以通過更改內置PHP配置來打開調試設置。

以下是簡單的步驟:

1,將.user.ini文件添加到您的根目錄。

2,使用與php.ini文件相同的語法將配置設置添加到.user.ini文件。 根據您的需求,您的.user.ini文件將包含以下文本:

display_errors = On

3,部署您的Web應用程序。

4,重新啟動Web應用程序。

您可以閱讀官方指南以了解更多信息。

此外,我們可以登錄我們網站的Kudu控制台來管理我們的網站。 Kudu控制台的URL應該類似於: https://{your_web_site_name}. scm.azurewebsites.net https://{your_web_site_name}. scm.azurewebsites.net ,然后單擊Tools => Diagnostic dump以下載診斷日志。

另外,我們可以使用WebMatrix直接在Azure Web Apps上修改您的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM