当前位置: 首页 > 知识库问答 >
问题:

从Google云应用程序引擎PHP 5.5升级到7.3后,如何使Glob()重新工作?

终弘厚
2023-03-14

从应用引擎PHP 5.5运行时升级到7.3后,Glob不再适用于通过我们的云存储文件进行排序。

use Google\Cloud\Storage\StorageClient;
$storage = new StorageClient();
$storage->registerStreamWrapper();
$bucket = $storage->bucket("MyBucketName");

我已经启用了StreamWrapper,所有其他文件操作(scandir、opendir、unlink、读取文件等)都可以正常工作。无法再使用glob()是一个破坏者,因为通过云存储进行排序现在太慢,会造成超时。使用云存储前缀在当前的命名环境下是不可行的,而且非常不灵活。

$allLogFiles = glob($fileSystemLogFolder."*_".$_REQUEST['DeleteVersionNrLogs']."_*",GLOB_NOSORT); //No longer works
$allLogFiles = scandir($fileSystemLogFolder, SCANDIR_SORT_NONE );//Does work

是否可以让glob()为PHP7.3应用程序引擎云存储API工作?

共有1个答案

顾恺
2023-03-14

目前看来,这是不可能的,迈克。您可以在灵活的环境中使用自定义运行时,或者使用PHP7.3的VM来实现您的目标。

https://cloud.google.com/appengine/docs/flexible/custom-runtimes/

 类似资料:
  • 背景: 我正在使用Eclipse Lunar和谷歌应用程序引擎插件来尝试建立一个网站。一切都进行得很顺利,直到我想保存一些数据,所以我遵循了使用Objectify的教程。我下载了Objectify jar并将其放入“/war/WEB-INF/lib/”中,然后将其添加到类路径中。然后我做了一个类,并创建了几个我自己的测试类(现在可以假设这些类不包含错误)。我也可以成功部署。 问题 当试图加载使用O

  • 有人知道我们如何使用超过12个并发连接从App Engine到Cloud SQL吗? 我们发现留档说:“在标准环境中运行的每个App Engine实例与Google CloudSQL实例的并发连接不能超过12个。” 我们正在使用 Java for App Engine 使用 Hibernate...连接池指出它不应该在生产环境中使用,但如果我们禁用池,我们将达到最大连接数。

  • 嗨,我正在开发IOS应用程序。我还使用JSON web服务。我还使用Google App Engine for python。我对python和google应用程序引擎真的是个新手。我想不出这个问题; 我在json中发送bas64图像和其他信息。我想保存其他信息到数据库(GQL),并保存到图像谷歌文件夹(Blob商店),这张照片网址保存在谷歌数据库的其他信息。 你能帮帮我吗 更新

  • 我正试图在Google App Engine上从Quarkus连接到PostgreSQL数据库。为此,必须提供额外的JDBC属性“socketFactory”和“cloudSqlInstance”。但我不知道如何在应用程序中指定这些。属性。 根据https://quarkus.io/guides/datasource,有一个属性quarkus.datasource.jdbc.additional。

  • 我正在appengine虚拟机上开发一个Flask应用程序。我想上传文件到谷歌云存储,所以我使用连接到云存储。仅在VM中测试时,我的应用程序运行正常,没有错误。但是,在我使用部署并在部署的应用程序上测试上载功能后,它失败并返回错误。日志显示了回溯,这是由于连接到云存储的代码行: 具体错误是