Прежде всего: мне было поручено развернуть сайт Drupal на Azure.
Локально я использую 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, но достаточно сказать, что это своего рода print_r
для Drupal на стероидах.
Проблема, которую я получаю, заключается в том, что по какой-либо причине $result
возвращает NULL
. Когда я запускаю тот же код на своей локальной машине и в Linux / Debian, все работает как ожидалось (я получаю объект в результате curl
).
Это приводит к выводу, что Azure не нравится в этом фрагменте кода. Проблема в том, чтобы выяснить, что. Есть идеи?
Для среды prod display_errors
во время выполнения PHP в Azure Web Apps. Мы можем открыть настройку для отладки с помощью изменения встроенных PHP-конфигураций.
Вот простые шаги:
1, Добавьте файл .user.ini
в корневой каталог.
2, добавьте настройки конфигурации в файл .user.ini, используя тот же синтаксис, который вы использовали бы в файле php.ini
. По вашему требованию ваш файл .user.ini
будет содержать этот текст:
display_errors = On
3, Разверните свое веб-приложение.
4, Перезапустите веб-приложение.
Вы можете прочитать официальное руководство для получения дополнительной информации.
Кроме того, мы можем войти в консоль Kudu на наших сайтах для управления нашими сайтами. URL-адрес консоли Kudu должен выглядеть так: https://{your_web_site_name}. scm.azurewebsites.net
https://{your_web_site_name}. scm.azurewebsites.net
и нажмите Tools
=> Diagnostic dump
для загрузки диагностических журналов.
Дополнительно, мы можем использовать WebMatrix для прямого изменения вашего кода в Azure Web Apps.