2016-02-20 6 views
0

фона:PHP скрипт не может получить доступ к папке "вендора на сайте Azure

Я использую Azure App Services для размещения веб-сайта PHP. Я новичок в Azure и PHP (программирование вообще в этом отношении). В качестве отправной точки я слежу за набором обучающих программ PHP. Учебник, который я сейчас нахожу, требует использования функции почты PHP, однако это не удается, и из того, что я прочитал, это потому, что мне нужно использовать почтовую службу SendGrid при работе с веб-сайтом Azure.

шаги:

Сначала я установил SendGrid от Azure рынка. Затем я установил Composer в каталог проекта ('wwwroot'), а затем установил зависимости. Я попытался использовать как «sendgrid/smtpapi», так и «sendgrid/sendgrid-php» в качестве зависимостей в файле «composer.json». Установки оказались успешными, а папка «Поставщик» (в «wwwroot») обновлена ​​с файлами для «Композитор» и «SendGrid».

Я пытался несколько примеров кода для SendGrid, но решил придерживаться одной ниже (это, кажется, проще)

// using SendGrid's PHP Library 
// https://github.com/sendgrid/sendgrid-php 

require 'vendor/autoload.php'; 

$sendgrid = new SendGrid("SENDGRID_APIKEY"); 

$email = new SendGrid\Email(); 

$email->addTo("[email protected]") 
     ->setFrom("[email protected]") 
     ->setSubject("Sending with SendGrid is Fun") 
     ->setHtml("and easy to do anywhere, even with PHP"); 

$sendgrid->send($email); 

** Проблема: ** Error». Когда я смотрю на подробные журналы ошибок, я получаю дополнительную ошибку «HTTP Error 404.0 - Not Found».

Я знаю, что файл поставщика/autload.php 'требует почтового сценария существует

Когда я запускаю сайт почты скрипт разрывает с «500,0 - Internal Server, я могу видеть его из FTP-портал.

Однако, если я попытаюсь перейти к папке «Поставщик» через сайт «Куду», произойдет ошибка «Session Expired» (как это ни странно, это происходит только для этой конкретной папки). инструменты для разработчиков Internet Explorer показать еще ошибку «403 Forbidden - Access Denied»

Вывод:

Это мой вывод, что почтовый скрипт разрывает, поскольку он не может получить доступ к файлам, требуемых от "папки вендора , Я, однако, не знаю, почему и как обойти это. Любые рекомендации будут высоко оценены.

+0

Извините, ребята, что-то пошло не так с первым абзацем в разделе «Проблема»: Когда я запускаю веб-сайт, сценарий почты разбивается на «500.0 - Внутренняя ошибка сервера» .... – Claire

ответ

1

Как я создал новый тестовый проект в Azure Web Apps для отправки электронной почты через SendGird SDK. Я не воспроизводил свой вопрос, вот мои шаги по созданию проекта SendGird, FYI:

  • Установка Visual Studio Интернет расширение и Composer расширения Azure Web Apps для легкого развивающегося и управления. Вы можете отправить ответ How to install composer on app service? на шаги по установке расширений
  • Создайте файл composer.json в корневом каталоге приложения. Содержание файла:

{ "require": { "sendgrid/sendgrid": "~4.0" } }

  • Open Console вводного команда composer install установить зависимость.

Мой тестовый код с вами аналогичен, и он отлично работает на моей стороне. вы можете попробовать эти шаги.

 Смежные вопросы

  • Нет связанных вопросов^_^