PHP GAE上的Amazon S3无法使用curl扩展
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP GAE上的Amazon S3无法使用curl扩展,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2444字,纯文字阅读大概需要4分钟。
内容图文
![PHP GAE上的Amazon S3无法使用curl扩展](/upload/InfoBanner/zyjiaocheng/699/3b663e0e0a7a4d858a68c879ae24d0d3.jpg)
任何人都可以帮我弄清楚如何让S3在我的php应用程序引擎上工作(运行时:php55)?
我在某个地方看到你可以在没有CURL的情况下使用它并找到了StreamWrapper但是一直出错.
Use of undefined constant CURLE_COULDNT_RESOLVE_HOST
Use of undefined constant CURLE_COULDNT_CONNECT
Use of undefined constant CURLE_PARTIAL_FILE
etc..
这是我的代码:
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
// Instantiate an S3 client
$s3 = S3Client::factory(array('key' => 'KEY','secret' => 'SECRET'));
$s3->registerStreamWrapper(); // don't use curl
//AMAZON S3 BACKUP//
$document_data = "123456";
$s3_object_url = "s3://bucket/folder/file.txt";
$s3_options = stream_context_create(['s3'=>['ACL'=>'bucket-owner-full-control', 'ServerSideEncryption' => 'AES256']]);
$s3_file = fopen($s3_object_url, 'w', false, $s3_options);
fwrite($s3_file, $document_data);
fclose($s3_file);
使用curl lite时出错:
PHP Fatal error: Uncaught exception 'google\appengine\runtime\CurlLiteMethodNotSupportedException' with message 'curl_multi_init' in /base/data/home/runtimes/php/sdk/google/appengine/runtime/CurlLiteStub.php:1391
Stack trace:
#0 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php(50): curl_multi_init()
#1 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php(128): Guzzle\Http\Curl\CurlMulti->__construct(1)
#2 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php(87): Guzzle\Http\Curl\CurlMultiProxy->getAvailableHandle()
#3 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Client.php(284): Guzzle\Http\Curl\CurlMultiProxy->send()
#4 /base/data/home/apps/.../vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php(256): Guzzle\Http\Client->send(Ob in /base/data/home/runtimes/php/sdk/google/appengine/runtime/CurlLiteStub.php on line 1391
在php.ini中使用extension =“curl.so”时出错
15:09:52.614 A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 204)
编辑:
看起来像“guzzle”需要启用curl所以我在我的php.ini中启用了extension =“curl.so”,它在我的localhost开发人员中运行正常,没有错误.但是当我将它上传到app引擎时.
解决方法:
curl需要仅适用于支持账单的应用程序的套接字(https://cloud.google.com/appengine/docs/php/sockets/).您可能还想考虑“curl lite”:https://cloud.google.com/appengine/docs/php/config/php_ini#GAE_directives
内容总结
以上是互联网集市为您收集整理的PHP GAE上的Amazon S3无法使用curl扩展全部内容,希望文章能够帮你解决PHP GAE上的Amazon S3无法使用curl扩展所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。