Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能用PHP连接Azure CosmosDB吗?_Php_Azure_Azure Cosmosdb - Fatal编程技术网

你能用PHP连接Azure CosmosDB吗?

你能用PHP连接Azure CosmosDB吗?,php,azure,azure-cosmosdb,Php,Azure,Azure Cosmosdb,我目前正在构建一个webapp,我需要使用CosmosDB。我一直在试图找到一个PHP连接脚本,但我似乎找不到一个直接的答案 所以我的问题是,我可以使用PHP连接Azure Cosmos DB吗?我有一个来自Unity的脚本,它将数据解析为JSON文件到CosmosDB,但是我可以使用PHP连接到Azure吗?什么样的方法最适合访问数据 如果是的话,我需要一个API或某个连接脚本吗?我很乐意接受建议,但是一个直接的答案会有很大的帮助,因为我目前正在使用Bluehost的共享主机,所以我只能使用典

我目前正在构建一个webapp,我需要使用CosmosDB。我一直在试图找到一个PHP连接脚本,但我似乎找不到一个直接的答案

所以我的问题是,我可以使用PHP连接Azure Cosmos DB吗?我有一个来自Unity的脚本,它将数据解析为JSON文件到CosmosDB,但是我可以使用PHP连接到Azure吗?什么样的方法最适合访问数据

如果是的话,我需要一个API或某个连接脚本吗?我很乐意接受建议,但是一个直接的答案会有很大的帮助,因为我目前正在使用Bluehost的共享主机,所以我只能使用典型的LAMP配置

顺便说一句,如果你觉得这篇文章很熟悉,那是因为我半小时前也在Reddit上发布了这篇文章

谢谢

克隆 然后在connect.php中填写您的凭证

$db = new Connection([
    'host' => '<your_server_address>.graphs.azure.com',
    'username' => '/dbs/<db>/colls/<coll>',
    'password' => 'your_primary_key'
    ,'port' => '443'
    // Required parameter
    ,'ssl' => TRUE
]);
$db=新连接([
'host'=>'.graphs.azure.com',
“用户名”=>“/dbs//colls/”,
'密码'=>'您的\u主键'
,“端口”=>“443”
//必需参数
,'ssl'=>TRUE
]);

不幸的是,Azure CosmosDB(DocumentDB API)目前没有官方的PHP SDK


您可以使用或社区驱动程序与CosmosDB交互,如

如果您想将Azure Cosmos DB用作MongoDB,可以使用其MongoDB Api和“官方”MongoDB库

获取连接字符串 要了解连接字符串,可以按照以下文档进行操作:

从那里:

  • 在Internet浏览器中,登录Azure门户
  • 在Azure Cosmos DB blade中,选择MongoDB帐户的API
  • 在帐户刀片服务器的左窗格中,单击连接字符串
  • 连接字符串刀片打开。它具有使用MongoDB驱动程序连接到帐户所需的所有信息,包括预构造的连接字符串
  • Azure Cosmos DB支持标准MongoDB连接字符串URI格式,但有两个特定要求:Azure Cosmos DB帐户需要通过SSL进行身份验证和安全通信。因此,连接字符串格式为:

    mongodb://username:password@host:port/[database]?ssl=true
    
    此字符串的值在前面显示的连接字符串中可用:

    • 用户名(必需):Azure Cosmos DB帐户名
    • 密码(必需):Azure Cosmos DB帐户密码
    • 主机(必需):Azure Cosmos DB帐户的FQDN
    • 端口(必需):10255
    • 数据库(可选):连接使用的数据库。如果未提供数据库,则默认数据库为“test”
    • ssl=true(必需)

    例如,考虑连接字符串刀片中显示的帐户。有效的连接字符串是:

    mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true
    
    访问数据 对于当前在PHP中的使用,您可以使用

    通过运行以下命令安装库:

    $ composer require mongodb/mongodb
    
    例如,这是如何将文档插入演示数据库的beers集合的:

    <?php
    require 'vendor/autoload.php'; // include Composer's autoloader
    
    $client = new MongoDB\Client("mongodb://localhost:27017");
    $collection = $client->demo->beers;
    
    $result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
    
    echo "Inserted with Object ID '{$result->getInsertedId()}'";
    ?>
    
    AzureDocumentDB PHP包装器是否适用于Laravel@陈昭荣