Php 如何为Google AppEngine转换CURLOPT_文件?

Php 如何为Google AppEngine转换CURLOPT_文件?,php,file,google-app-engine,curl,Php,File,Google App Engine,Curl,由于在Google AppEngine上不允许使用CURL和文件写入,因此我需要帮助来转换以下CURL请求,以便在其上运行: $ch = curl_init("http://example.com/external.php"); $fp = fopen("internal.php", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_clos

由于在Google AppEngine上不允许使用CURL和文件写入,因此我需要帮助来转换以下CURL请求,以便在其上运行:

$ch = curl_init("http://example.com/external.php");
$fp = fopen("internal.php", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);

fclose($fp);
header("Location:internal.php");

您需要将文件写入谷歌云存储。大概是

$in = "http://example.com/external.php";
$out = "gs://bucket/internal.php";

file_put_contents($out, file_get_contents($in));

谢谢它在写文件时工作得很好。然而,我在从桶中运行文件以供公众阅读时再次获得堆栈。我需要按中所述设置公共访问吗?你知道这是一个非常糟糕的主意,对吗?无论如何,您需要使用google_app_engine.allow_include_gs_bucket ini设置来允许从GCS执行php文件。我使用以下设置设置了php.ini:google\u app\u engine.allow\u include\u gs\u bucket=“my app id appspot.com”。仍然被拒绝访问。我发现问题是由于我的浏览器。我已经清除了所有的缓存,现在可以正常工作了。请允许我向您发送的不是应用程序id(而是项目编号445072651661)。下面是正在解决的页面:。再次感谢斯图尔特的建议。