你们知道当我把我的网站放在网络服务器上时,谷歌api不工作的原因吗?但它在本地主机上运行良好?
include 'system/includes/connection.php';
require __DIR__ . '/googleApi/vendor/autoload.php';
$client = new Google_Client();
$client->setApplicationName('Google Sheets and PHP');
$client->setScopes([Google_Service_Sheets::SPREADSHEETS]);
$client->setAccessType('offline');
$client->setAuthConfig('client_credentials.json');
$service = new Google_Service_Sheets($client);
这是我的错误日志中显示的错误。[08-Aug-2020 01:38:38亚洲/马尼拉]PHP分析错误:语法错误,意外的":",在/home/y2efod66lc11/public_html/googleApi/vendor/guzzlehttp/guzzle/src/functions.PHP第14行中应为"{">
这就是函数php内部的内容https://hasteb.in/egehofos.xml
您必须将PHP版本升级到7.0或更高版本,这就是添加返回类型的时候。
然而,请注意,您应该使用PHP 7.3或更高版本,因为不再支持7.1或更低版本,7.2将于今年11月底到期。https://www.php.net/supported-versions.php
短
正如我在评论中提到的,@Thor也指出,您需要将主机上的PHP版本更改为至少7.0
,最好是最高版本。检查Google API在其文档中的要求,PHP版本是最低的。
详细信息
参数类型声明和返回类型声明(终于!(在PHP版本7.0
中引入。
因此,这是PHP7.x
的有效代码
function describe_type($input): string
{
return Utils::describeType($input);
}
function headers_from_lines(iterable $lines): array
{
return Utils::headersFromLines($lines);
}
因为这个在PHP5.x
中是有效的
function describe_type($input)
{
return Utils::describeType($input);
}
function headers_from_lines($lines)
{
return Utils::headersFromLines($lines);
}
找出区别。