1

我是 Twilio 的新手。为了学习基础知识,我按照这里的说明进行操作: https ://www.twilio.com/docs/howto/walkthrough/click-to-call/php/laravel#12

起初,我的电话会响起,我会收到一条通用消息。印象深刻,我升级了我的帐户。现在我接到一个电话,声音说“我们很抱歉发生了应用程序错误”。

我在 Twilio 中检查了我的警报,发现错误:12100 - 文档解析失败

所以我检查了我的 outbound.php 的 url 并意识到这里有一个 PHP 错误。错误是

致命错误:在第 16 行的 /home/......./outbound.php 中找不到类“响应”

经过一番搜索,我找不到其他人讨论同样的问题。最后,最糟糕的是,我什至在 Twilio Helper Library 中找不到对 Response 类的任何引用。

这是我有问题的页面的整个代码块。

<?php

error_reporting(E_ALL);
require_once 'twilio-library/Services/Twilio.php';


    // A message for Twilio's TTS engine to repeat
    $sayMessage = 'Thanks for contacting our sales department. If this were a 
        real click to call application, we would redirect your call to our 
        sales team right now using the Dial tag.';

    $twiml = new Services_Twilio_Twiml();
    $twiml->say($sayMessage, array('voice' => 'alice'));
    // $response->dial('+12345675309');

    $response = Response::make($twiml, 200);
    $response->header('Content-Type', 'text/xml');
    return $response;

?>

如果我将此文件更改为静态的、格式良好的 XML,那么错误就会停止。

4

1 回答 1

1

Twilio 开发人员布道者在这里。

您正在学习的教程基于Laravel 框架,这是Response该类所期望的来源。

如果您仅在一个普通的 PHP 文件中使用 PHP TwiML 构建器,您应该能够只print使用$twiml. 为了安全起见,我可能还会添加 text/xml 的 Content-Type 。像这样:

<?php
  error_reporting(E_ALL);
  require_once 'twilio-library/Services/Twilio.php';

  // A message for Twilio's TTS engine to repeat
  $sayMessage = 'Thanks for contacting our sales department. If this were a 
    real click to call application, we would redirect your call to our 
    sales team right now using the Dial tag.';

  $twiml = new Services_Twilio_Twiml();
  $twiml->say($sayMessage, array('voice' => 'alice'));
  // $twiml->dial('+12345675309');

  header('Content-type: application/xml');

  print $twiml;
?>

让我知道这是否有帮助!

于 2015-07-31T16:58:07.970 回答