zoukankan      html  css  js  c++  java
  • 新浪云SAE 关于部分函数不能使用的做法

    例如:file_put_contents("test.txt","Hello World. Testing!");

    可以这样写: 

    file_put_contents("saekv://test.txt", $response, FILE_APPEND);

    这样就可以了

    Wrappers

    PHP 自 4.3 版本以来,引入了 stream 流的概念,简单说,就是可以用通用的 IO 读写函数来操作各种资源,比如:tcp、udp、http、ftp 等等,这样做的好处是统一了接口的封装。这就像在 Unix 中将各种设备都抽象成文件,你可以使用 read/write 来操作各种设备,这样统一了操作接口,易于理解和使用。Wrappers 就是用来告诉 stream 流该如何处理(读写)特定的资源。

    Wrappers 使用非常简单,比如下面就是一个最常见一个使用 Wrapper 的语句:

    <?php
    $c = file_get_contents("http://sae.sina.com.cn");
    ?>

    这里就是使用 http:// Wrapper 实现抓取远程内容并赋值给一个变量的操作。

    由于新浪云的 PHP 运行环境并不提供持久性本地 IO 能力,所以 PHP 运行环境提供了提供了 Memcached,Storage,KVDB 的 Wrappers 来方便开发者迁移原有程序。

    如果你的原有程序中,使用了本地文件型缓存,那么你可以方便地使用 saemc:// 替换本地文件缓存的前缀。

    如果你的原有程序中,有文件存储的需求,你原来可能是通过 NFS 或者就是单机提供的存储服务,那么你可以方便地使用 saestor:// 或 saekv:// 来替换原来的存储前缀,注意存储的用途是用于文件落地的永久存储,任何缓存、中间临时交换数据的需求都是不适合使用 Storage 和 KVDB 存储的。

    <?php
    # 使用"saekv://"这个 Wrapper 将配置文件 config.php 的内容以"config.php"为 key 保存到 KVDB 中,
    # 然后用 include 引用了这个文件
    file_put_contents('saekv://config.php','');
    include 'saekv://config.php';
    ?>

    重要

    使用 Wrappers 请要先初始化相应的服务,上例中 KVDB 服务必须是开启的状态。

  • 相关阅读:
    DBCC CHECKDB 数据库或表修复
    数据一致性错误
    SQL Server如何用最小的磁盘来时时访问Oracle
    What 's the meaning of "WindowsonWindows" layer?
    linux解压 tar命令
    ZendStudio中设置SVN:ignore
    微盾PHP脚本加密专家解密算法
    修改linux服务器的时间
    phpmyadmin是空白或很慢的解决办法
    linux 下安装json
  • 原文地址:https://www.cnblogs.com/xtmp/p/6484741.html
Copyright © 2011-2022 走看看