为什么PHP Curl返回T_常量_封装的_字符串?
我试图使用PHP通过JSON从CallRail.com API获取数据 但是,当直接在浏览器中预览PHP文件时,我遇到了这个错误:为什么PHP Curl返回T_常量_封装的_字符串?,php,json,curl,Php,Json,Curl,我试图使用PHP通过JSON从CallRail.com API获取数据 但是,当直接在浏览器中预览PHP文件时,我遇到了这个错误:T\u CONSTANT\u ENCAPSED\u STRING 我的代码: <? curl -H "Authorization: Token token={my-token-id}" \ -X GET \ "https://api.callrail.com/v2/a/{my-account-id}/calls.json" ?> 到目前为止,我已经:
T\u CONSTANT\u ENCAPSED\u STRING
我的代码:
<?
curl -H "Authorization: Token token={my-token-id}" \
-X GET \
"https://api.callrail.com/v2/a/{my-account-id}/calls.json"
?>
到目前为止,我已经:
- 在没有找到解决方案或可验证的准确解释的情况下阅读错误
- 我已经手动重新键入了所有代码,以确保没有任何编码错误的字符或无效的空格
- 我也试图找到,但没有找到任何有用的
- 我已经在一个空白的PHP文件中对此进行了测试,因此代码是完全隔离的
我不知道如何进一步调试这个问题,我希望有人能够识别问题,或者从这一点上分享我自己调试这个问题的步骤。您的代码示例是二进制的,将在类似Bash的shell中从命令行执行,而不是PHP。这就是为什么你会犯这样的错误 如果希望PHP调用外部二进制文件,请使用
exec()
、shell\u exec()
或system()
另外,为了便于移植,永远不要使用short-open标记
,因为它取决于short\u-open\u标记
php.ini指令,或者php是否使用--enable-short-tags
编译
即使你的代码不必是可移植的,这只是一个坏习惯。以防将来需要使用一些可移植的PHP代码;尝试:
<?php
echo shell_exec('curl -H "Authorization: Token token={my-token-id}" -X GET "https://api.callrail.com/v2/a/{my-account-id}/calls.json"');
你的完整代码是什么?你的php代码在哪里?这是我的完整代码。它在一个PHP文件中,而不是PHP。它是用于命令行的@这就是为什么会出现语法错误。上面是命令行curl,不是php的curl。好的,谢谢。据我理解,“二进制”只是指任何和所有代码。你不是说“狂欢”吗?另外,我不知道什么是短开放标签,或者它是如何相关的。你能在回答中澄清一下吗?
<?php
echo shell_exec ( implode ( " ", [
'curl',
'-H "Authorization: Token token={my-token-id}"',
'-X GET',
'"https://api.callrail.com/v2/a/{my-account-id}/calls.json"'
] ) );