在谷歌appengine中使用文件操作时出错

时间:2013-08-16 07:21:02

标签: php google-app-engine

)我正在google appengine中创建一个php应用程序。由于我将不得不为云sql付费,我决定使用一些文件而不是sql数据库并从中读取/写入。但问题是我无法使用php的标准文件操作(如'fopen'和'fwrite'等)创建或修改现有文件。当我在'localhost:8080'中运行相同的代码时,它正常工作。但不是在互联网上传的版本。我在创建/写入文件时遇到错误。请帮忙。谢谢

2 个答案:

答案 0 :(得分:1)

您应该阅读appengine php runtime docs https://developers.google.com/appengine/docs/php/#PHP_The_sandbox

特别是关于沙箱的部分。关键声明 -

  

App Engine应用程序不能:

     

写入文件系统。 PHP应用程序可以使用Google云端存储   用于存储持久文件。允许从文件系统读取,   以及随应用程序上传的所有应用程序文件都可用。

答案 1 :(得分:1)

这是前一段时间,但如果您仍想写入文件系统,可以写入gs云

https://cloud.google.com/appengine/docs/php/googlestorage/#writing_files_from_your_app

您需要将存储桶添加到php.ini文件

google_app_engine.allow_include_gs_buckets="yourapp.appspot.com"

并确保您的服务帐户名称具有编辑云存储的权限

HTH