我正在尝试通过树莓派2(Raspian Linux)上的PHP laravel控制器发送和发送SMS字符串,为此,我具有以下功能:
public function processCmd($smsmodel) {
$smsnumbertmp=str_replace(' ', '', $smsmodel->smsnumber);
echo 'sudo gammu-smsd-inject TEXT ' . $smsnumbertmp . " -unicode -text " . $smsmodel->smstext;
exec("sudo gammu-smsd-inject TEXT " . $smsnumbertmp . " -unicode -text " . $smsmodel->smstext);
return "success";
}
命令行上的结果如下:
Actual Timestamp 2019-06-27 06:33:20sudo gammu-smsd-inject TEXT +436802472618 -unicode -text öäüüüüü
我有一个SMS.sh脚本,该脚本每10秒调用一次服务,并检查发件箱中是否有要发送的内容。
如果我直接在控制台中使用此字符串 sudo gammu-smsd-inject TEXT +436802472618 -unicode -textöäüüüüüü 效果很好-我收到带有特殊字符的短信
如果我从PHP控制器使用与exec()命令完全相同的字符串,则会得到一个空SMS。我已经尝试了很多编码和开关编码,但是没有用。
有人能告诉我PHP的调用和控制台的直接调用有什么区别吗?