Argument not passed when calling tts.php from an AGI

I’m trying to do some dynamic TTS via an AGI, which involves calling tts.php included with the freePBX distro from within another AGI.

The following dial plan works exactly as expected: (The voice is ugly, but it works.)

exten => 5577001,1,Answer()
exten => 5577001,n,Set(TTSText=‘THIS IS A TEST OF TEXT TO SPEECH’)
exten => 5577001,n,AGI(tts.php,${TTSText})
exten => 5577001,n,Hangup()

However this code within an AGI does not pass the argument:

$text="'I AM SORRY. I GOT RESPONSE CODE 331 AND   TOTAL CUSTOMERS.'";
$myagi->exec_agi("tts.php",$text);
fflush(STDOUT);

I modified tts.php slightly to hard code the engine and for more diagnostic output:

$text = $argv[1];
$hash = md5($text);
$engine = "flite";
$enginebin = "/usr/bin/flite";
if (!isset($text))
{
     debug("TTS GOT NO TEXT", 1);
     return 0;
}

And this is what I get in cli debug:

<SIP/xxx>AGI Tx >> agi_request: lime-get-ord.php
== other channels stuff ===
<SIP/xxx>AGI Tx >>
<SIP/xxx>AGI Rx << #!/usr/bin/php
<SIP/xxx>AGI Tx >> 510 Invalid or unknown command
<SIP/xxx>AGI Rx << VERBOSE "Starting lime-get-ord: 8596352415" 1
 lime-get-ord.php,8596352415: Starting lime-get-ord: 8596352415
<SIP/xxx>AGI Tx >> 200 result=1
<SIP/xxx>AGI Rx << EXEC AGI tts.php 'I AM SORRY. I GOT RESPONSE CODE 331 AND  TOTAL CUSTOMERS.'
    -- AGI Script Executing Application: (AGI) Options: (tts.php)
    -- Launched AGI Script /var/lib/asterisk/agi-bin/tts.php
<SIP/xxx>AGI Tx >> agi_request: tts.php
<SIP/xxx>AGI Tx >> agi_channel: SIP/xxx
== other channels stuff ===
<SIP/xxx>AGI Tx >>
<SIP/xxx>AGI Rx << VERBOSE "TTS AGI Started" 1
 tts.php: TTS AGI Started
<SIP/xxx>AGI Tx >> 200 result=1
<SIP/xxx>AGI Rx << VERBOSE "TTS GOT NO TEXT" 1
 tts.php: TTS GOT NO TEXT
<SIP/xxx>AGI Tx >> 200 result=1
    -- <SIP/xxx>AGI Script tts.php completed, returning 0

So I don’t understand why my $text argument is not being passed. What am I doing wrong?

Also, Why would I be getting a “510 Invalid or unknown command” on my shebang?

Thanks for helping!