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